【MySQL】知识点 + 1

 

# (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` 的天数差。如果 `date1` 在 `date2` 之后,结果将为正数;如果 `date1` 在 `date2` 之前,结果将为负数;如果两个日期相同,结果将为0。

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

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()` 函数:

SELECT RAND() AS random_number;

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

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

5、

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

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

DATE_ADD(date, INTERVAL expr unit)

- `date` 参数是要添加时间间隔的日期。
- `expr` 参数是要添加的时间间隔的数量。
- `unit` 参数是时间间隔的单位,如天(DAY)、月(MONTH)、小时(HOUR)等。

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

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`:

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()` 函数:

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 约束来定义两个表之间的关系。例如:

    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 字段。
4. 删除和更新操作:当使用 FOREIGN KEY 约束时,需要特别注意删除和更新操作。如果尝试删除或更新被其他表引用的记录,数据库可能会阻止这种操作,除非设置了适当的级联规则(如 ON DELETE CASCADE 或 ON UPDATE CASCADE)。
5. 性能:虽然 FOREIGN KEY 约束有助于维护数据的完整性和一致性,但它们也可能对性能产生一些影响,特别是在大数据集上。因此,在设计数据库时,应权衡数据完整性和性能之间的需求。
6. 不是所有数据库系统都支持:虽然大多数关系型数据库系统(如 MySQL、PostgreSQL、SQL Server 等)都支持 FOREIGN KEY 约束,但并不是所有的数据库系统都支持。在使用之前,请确保你的数据库系统支持此功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/486706.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【iOS ARKit】3D文字

首先,3D场景中渲染的任何虚拟元素都必须具有网格(顶点及顶点间的拓扑关系),没有网格的元素无法利用GPU 进行渲染,因此,在3D 场景申渲染 3D文字时,文字也必须具有网格。在计算机系统中&#xff0…

发展新质生产力,亚信科技切中产业痛点

管理学大师拉姆查兰认为,经营性不确定性通常在预知范围之内,不会对原有格局产生根本性影响;而结构性不确定性则源于外部环境的根本性变化,将彻底改变产业格局,带来根本性影响。 毫无疑问,一个充满结构性不…

VS Code配置Python环境

首先贴一张完全卸载VS Code的图,包括一些配置和插件。 讲述一下如何配置Python环境以及和Conda的配合使用(涉及到虚拟环境) VS Code配置Python需要三步:安装Python环境;在VS Code软件中下载Python插件;新建python文件开始coding。…

Docker容器初始

华子目录 docker简介虚拟化技术硬件级虚拟化硬件级虚拟化历史操作系统虚拟化历史基于服务的云计算模式 什么是dockerDocker和传统虚拟化方式的不同之处为什么要使用docker?Docker 在如下几个方面具有较大的优势 对比传统虚拟机总结docker应用场景docker改变了什么 基…

抖音小店和抖音橱窗有什么区别?普通人最适合做哪个?

大家好,我是电商糖果 说起抖音卖货,很多人都会搞不清楚抖音小店和抖音橱窗有什么不同。 甚至有的朋友将他们认为是一个项目。 这里糖果就帮大家仔细的分辨一下,想在抖音卖货的普通人,看看它们谁最适合自己。 来百度APP畅享高清…

MySQL中的基本SQL语句

文章目录 MySQL中的基本SQL语句查看操作创建与删除数据库和表修改表格数据库用户管理 MySQL中的基本SQL语句 查看操作 1. 查看有哪些数据库 show databases; 2.切换数据库 use 数据库名;比如切换至 mysql数据库 use mysql;3.查看数据库中的表 show tables;4.查看表中…

干货分享 | TSMaster如何同时记录标定变量和DBC信号至BLF文件

客户在使用TSMaster软件标定功能时,有如下使用场景:将DBC文件中的信号与A2L文件中的标定变量同时记录在一个记录文件。针对此应用场景,TSMaster软件提供了一种方法来满足此需求。今天重点和大家分享一下关于TSMaster软件中同时记录标定变量和…

【计算机组成】计算机组成与结构(四)

上一篇:【计算机组成】计算机组成与结构(三) (7)存储系统 计算机采用分级存储体系的主要目的是为了解决存储容量、成本和速度之间的矛盾问题。 两级存储:cache-主存、主存-辅存(虚拟存储体系) 局部性原理 ◆ 局部性…

openssl 升级1.1.1.1k 到 3.0.13

下载 https://www.openssl.org/source/ tar -zxvf openssl-3.0.13.tar.gzcd openssl-3.0.13/./config enable-fips --prefix/usr/local --openssldir/usr/local/opensslmake && make install 将原有openssl备份 mv /usr/bin/openssl /usr/bin/openssl.bak mv /usr/i…

ElasTool v3.0 程序:材料弹性和机械性能的高效计算和可视化工具包

分享一个材料弹性和机械性能的高效计算和可视化工具包: ElasTool v3.0。 感谢论文的原作者! 主要内容 “弹性和机械性能的高效计算和可视化对于材料的选择和新材料的设计至关重要。该工具包标志着材料弹性和机械性能计算分析和可视化方面的重大进步…

Linux脚本打开多个终端执行不懂程序(树莓派)

1、首先需要安装gnome-terminal sudo apt install gnome-terminal 2、然后编写一下代码到RunApp.sh脚本,设置窗口上方名字(Qt5.8.0写的Server和Client) #!/bin/sh gnome-terminal --title "Client" -- bash -c "./Client&q…

算法打卡day24|回溯法篇04|Leetcode 93.复原IP地址、78.子集、90.子集II

算法题 Leetcode 93.复原IP地址 题目链接:93.复原IP地址 大佬视频讲解:复原IP地址视频讲解 个人思路 这道题和昨天的分割回文串有点类似,但这里是限制了只能分割3次以及分割块的数字大小,根据这些不同的条件用回溯法解决就好啦 解法 回溯…

二维码门楼牌管理应用平台建设:提升城市管理效率的新路径

文章目录 前言一、二维码门楼牌管理应用平台的建设背景二、人工数据审核的重要性三、地址匹配校验的作用四、数据修改后的状态管理五、二维码门楼牌管理应用平台的未来展望 前言 随着城市管理的不断升级,二维码门楼牌管理应用平台正逐渐成为城市管理的新宠。本文将…

今天简单聊聊容器化

什么是容器化 容器化(Containerization)是一种软件开发和部署的方法,其核心思想是将应用程序及其所有依赖项打包到一个独立的运行环境中,这个环境被称为容器。容器化技术使得应用程序可以在不同的计算环境中以一致的方式运行&…

制作一个RISC-V的操作系统七-UART初始化(UART NS16550A 规定 目标 发送数据 代码 extern)

文章目录 UARTNS16550A规定目标发送数据代码extern UART 对应到嵌入式开发中,qemu模拟的就是那块开发板(硬件) 电脑使用qemu时可以理解为qemu模拟了那块板子,同时那块板子与已经与你的电脑相连接了(我们对应的指定的内…

尽可能使用清晰、统一的方式初始化所有对象:列表初始化。【C++】

不管是为了统一性,还是避免发生窄化转换,尽可能使用初始化列表。 说明哪些对象可以使用列表初始化?代码演示 说明 C11 引入了列表初始化(也称为统一初始化或初始化列表),它是一种使用花括号 {} 来初始化对…

【开奖】京东云活动大更新 全网比价 轮盘抽奖 云服务器选购推荐 阿里云 腾讯云 京东云采购季活动大盘点

已开奖,本次奖品:4核16G名额:首次抽奖 1名→3名! 公布幸运儿:-阿纬-、不问青春、灰飞の慕沐 开奖地址: 【云服务器推荐】京东云活动大更新 另有开奖环节https://www.bilibili.com/video/BV1Vu4m1u7Qd 《…

通过rmi实现远程rpc(可以认为java自带Dubbo RPC)

背景: 发现公司几个运行10年的游戏,用的竟然是rmi,而我只听说过dubbo 和 基于netty的rpc,于是就补充了下rmi。 其次,是最近对于跨服的思考,如何避免回调也需要用同步写法,rmi比较适合。 1)api…

【智能算法】飞蛾扑火算法(MFO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2015年,Mirjalili等人受到飞蛾受到火焰吸引行为启发,提出了飞蛾算法(Moth-Flame Optimization,MFO)。 2.算法原理 2.1算法思想 MFO基于自然界中飞蛾寻找光源的…

(Windows)YOLOv8成功运行DCNv4报错总结

介绍 DCNv4是可变形卷积的第四版本也是今年2024年1月份公示的,其在网络结构上和DCNv3是差不多的,最突出的优点的减小了内存访问带来的负担,加快收敛的速度,在不失精度的情况下能把速度大幅度提升,在论文作者的实验里面…