【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 约束,但并不是所有的数据库系统都支持。在使用之前,请确保你的数据库系统支持此功能。

相关推荐
小爬虫程序猿6 分钟前
如何利用Python解析API返回的数据结构?
数据结构·数据库·python
wowocpp1 小时前
查看 磁盘文件系统格式 linux ubuntu blkid ext4
linux·数据库·ubuntu
龙鸣丿2 小时前
Linux基础学习笔记
linux·笔记·学习
C吴新科4 小时前
MySQL入门操作详解
mysql
Nu11PointerException4 小时前
JAVA笔记 | ResponseBodyEmitter等异步流式接口快速学习
笔记·学习
亦枫Leonlew6 小时前
三维测量与建模笔记 - 3.3 张正友标定法
笔记·相机标定·三维重建·张正友标定法
考试宝6 小时前
国家宠物美容师职业技能等级评价(高级)理论考试题
经验分享·笔记·职场和发展·学习方法·业界资讯·宠物
Ai 编码助手7 小时前
MySQL中distinct与group by之间的性能进行比较
数据库·mysql
陈燚_重生之又为程序员7 小时前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
caridle7 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express