【MySQL】知识点 + 1

sql 复制代码
# (1)查询当前日期、当前时间以及到2022年1月1日还有多少天,然后通过mysql命令执行命令。
select curdate() AS '当前日期',
       curtime() AS '当前时间',
       datediff('2022-01-01', curdate()) AS '距离2022年1月1日还有天数';
       

# (2)利用随机函数输出20-90的任意3个数(含2位小数)       
select round(rand() * (90 - 20) + 20, 2) AS '随机数1',
       round(rand() * (90 - 20) + 20, 2) AS '随机数2',
       round(rand() * (90 - 20) + 20, 2) AS '随机数3';

# (3)计算1000天后的日期和3000分钟后的日期时间。
select date_add(curdate(), interval 1000 day) AS '1000天后的日期',
       date_add(now(), interval 3000 minute) AS '3000分钟后的日期时间';

1、```DATEDIFF(date1, date2)` 是一个MySQL中的SQL函数,用于计算两个日期之间的天数差。这个函数接受两个日期参数,并返回第一个日期减去第二个日期的天数差。``

```DATEDIFF()函数将返回date1减去date2的天数差。如果date1date2之后,结果将为正数;如果date1date2` 之前,结果将为负数;如果两个日期相同,结果将为0。``

以下是一个示例,演示如何在MySQL中使用 `DATEDIFF()` 函数:

sql 复制代码
SELECT DATEDIFF('2022-01-01', '2021-12-25') AS day_difference;

在这个示例中,`DATEDIFF('2022-01-01', '2021-12-25')` 将计算日期 '2022-01-01' 减去日期 '2021-12-25' 的天数差,并返回结果。运行此查询将返回天数差,例如7。

```DATEDIFF()` 函数在计算日期之间的差异时非常有用,例如计算两个事件之间的天数差等。如果你有任何问题或需要更多示例,请随时告诉我。``

2、`curdate()` 是一个MySQL中的SQL函数,用于获取当前日期。当调用 `curdate()` 函数时,它会返回当前日期的值。

3、`curtime()` 是一个MySQL中的SQL函数,用于获取当前时间。当调用 `curtime()` 函数时,它会返回当前时间的值。

4、

```RAND()是一个MySQL中的SQL函数,用于生成一个介于0和1之间的随机数。每次调用RAND()` 函数都会返回一个新的随机数。``

当你在查询中使用 `RAND()` 函数时,它将返回一个随机数,该随机数范围在0到1之间(包括0,不包括1)。

以下是一个示例,演示如何在MySQL中使用 `RAND()` 函数:

sql 复制代码
SELECT RAND() AS random_number;

在这个示例中,`RAND()` 函数将返回一个随机数,并将其命名为 `random_number`。每次运行此查询,都会得到一个不同的随机数。

```RAND()` 函数在需要生成随机数的情况下非常有用,例如在数据抽样、随机排序等场景中。如果你有任何问题或需要更多示例,请随时告诉我。``

5、

`DATE_ADD()` 是一个MySQL中的SQL函数,用于在日期上添加指定的时间间隔。这个函数接受三个参数:日期,时间间隔和时间单位。通过使用 `DATE_ADD()` 函数,你可以在一个日期上添加天数、小时、分钟等时间间隔。

以下是 `DATE_ADD()` 函数的一般语法:

sql 复制代码
DATE_ADD(date, INTERVAL expr unit)
  • `date` 参数是要添加时间间隔的日期。

  • `expr` 参数是要添加的时间间隔的数量。

  • `unit` 参数是时间间隔的单位,如天(DAY)、月(MONTH)、小时(HOUR)等。

以下是一个示例,演示如何在MySQL中使用 `DATE_ADD()` 函数:

sql 复制代码
SELECT DATE_ADD('2022-01-01', INTERVAL 1 MONTH) AS new_date;

在这个示例中,`DATE_ADD('2022-01-01', INTERVAL 1 MONTH)` 将在日期 '2022-01-01' 上添加一个月,并返回新的日期。运行此查询将返回新日期,即 '2022-02-01'。

如果你有任何问题或需要更多示例,请随时告诉我。

6、

`INTERVAL` 是MySQL中用于表示时间间隔的关键字。在SQL语句中,`INTERVAL` 可以与日期函数一起使用,用来指定要添加或减去的时间单位。

以下是一个示例,演示如何在MySQL中使用 `INTERVAL`:

sql 复制代码
SELECT DATE_ADD('2022-01-01', INTERVAL 1 MONTH) AS new_date;

在这个示例中,`INTERVAL 1 MONTH` 表示要在日期 '2022-01-01' 上添加一个月。运行此查询将返回新日期,即 '2022-02-01'。

`INTERVAL` 关键字非常有用,可以用来指定要添加或减去的时间单位,如年、月、日、小时、分钟等。如果你有任何问题或需要更多示例,请随时告诉我。

7、

`NOW()` 是一个MySQL中的SQL函数,用于获取当前日期和时间。当你在查询中使用 `NOW()` 函数时,它会返回当前的日期和时间。

以下是一个示例,演示如何在MySQL中使用 `NOW()` 函数:

sql 复制代码
SELECT NOW() AS current_datetime;

在这个示例中,`NOW()` 函数将返回当前的日期和时间,并将其命名为 `current_datetime`。运行此查询将返回类似 '2022-01-01 12:34:56' 的结果,其中包含当前的日期和时间。

`NOW()` 函数在许多情况下非常有用,例如记录时间戳或计算时间间隔等。如果你有任何问题或需要更多示例,请随时告诉我。


外键约束

FOREIGN KEY 是数据库中的一个约束,它确保一个表中的数据与另一个表中的数据匹配。FOREIGN KEY 约束用于在两个表之间建立关联,以维护引用完整性。

以下是关于 FOREIGN KEY 的一些关键点:

  1. 引用完整性FOREIGN KEY 确保一个表中的字段(或字段组合)的值必须在另一个表的主键字段(或唯一字段)中存在。这有助于防止插入无效的或不一致的数据。

  2. 两个表之间的关系FOREIGN KEY 约束定义了两个表之间的关系。这种关系通常是一对多(one-to-many)或多对一(many-to-one)关系。

  3. 创建 FOREIGN KEY :当创建表时,你可以使用 FOREIGN KEY 约束来定义两个表之间的关系。例如:

    sql 复制代码
    CREATE TABLE orders (  
        order_id INT PRIMARY KEY,  
        customer_id INT,  
        order_date DATE,  
        FOREIGN KEY (customer_id) REFERENCES customers(customer_id)  
    );

在上面的例子中,orders 表中的 customer_id 字段是一个 FOREIGN KEY,它引用 customers 表中的 customer_id 字段。

  1. 删除和更新操作 :当使用 FOREIGN KEY 约束时,需要特别注意删除和更新操作。如果尝试删除或更新被其他表引用的记录,数据库可能会阻止这种操作,除非设置了适当的级联规则(如 ON DELETE CASCADEON UPDATE CASCADE)。

  2. 性能 :虽然 FOREIGN KEY 约束有助于维护数据的完整性和一致性,但它们也可能对性能产生一些影响,特别是在大数据集上。因此,在设计数据库时,应权衡数据完整性和性能之间的需求。

  3. 不是所有数据库系统都支持 :虽然大多数关系型数据库系统(如 MySQL、PostgreSQL、SQL Server 等)都支持 FOREIGN KEY 约束,但并不是所有的数据库系统都支持。在使用之前,请确保你的数据库系统支持此功能。

相关推荐
烧冻鸡翅QAQ6 分钟前
考研408笔记
笔记·考研
StarPrayers.9 分钟前
卷积层(Convolutional Layer)学习笔记
人工智能·笔记·深度学习·学习·机器学习
Li zlun33 分钟前
MySQL 性能监控与安全管理完全指南
数据库·mysql·安全
能不能别报错34 分钟前
K8s学习笔记(十五) pause容器与init容器
笔记·学习·kubernetes
无言以对,沉默不语,随你随你。1 小时前
【解决办法】GitBash不能在任意文件夹打开
经验分享·笔记·git
养生技术人1 小时前
Oracle OCP认证考试题目详解082系列第48题
运维·数据库·sql·oracle·database·开闭原则·ocp
海阳宜家电脑1 小时前
Lazarus使用TSQLQuery更新的一点技巧
数据库·lazarus·tsqlquery
牛马大师兄2 小时前
STM32独立看门狗IWDG与窗口看门狗WWDG知识梳理笔记
笔记·stm32·单片机·嵌入式硬件·嵌入式·看门狗
wan5555cn2 小时前
Windows 11系统鼠标键盘被禁用问题的全面解决方案
windows·笔记·深度学习·计算机外设
丨我是张先生丨2 小时前
SQLSERVER 查找存储过程中某个变量
数据库