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

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

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

相关文章

字符串函数---(1)

字符函数 文章目录 前言1.strlen 的使用和模拟实现2.strcpy 的使用和模拟实现3. strcat 的使用和模拟实现4. strcmp 的使用和模拟实现 前言 上一篇我们学习了字符函数,下来我们学习常见的字符串函数 1.strlen 的使用和模拟实现 size_t strlen(const char *str) 字…

LiveGBS流媒体平台GB/T28181功能-HTTPS 服务支持配置开启什么时候需要开启HTTPS测试SSL证书配置HTTPS测试证书

LiveGBS功能支持HTTPS 服务支持配置开启什么时候需要开启HTTPS测试SSL证书配置HTTPS测试证书 1、配置开启HTTPS1.1、准备https证书1.1.1、选择Nginx类型证书下载 1.2、配置 LiveCMS 开启 HTTPS1.2.1 web页面配置1.2.2 配置文件配置 2、HTTPS测试证书3、验证HTTPS服务4、为什么要…

算法---二分查找练习-3(山脉数组的顶峰索引)

山脉数组的顶峰索引 1. 题目解析2. 讲解算法原理3. 编写代码 1. 题目解析 题目地址&#xff1a;点这里 2. 讲解算法原理 初始化两个指针 left 和 right&#xff0c;分别指向数组的起始位置和结束位置。 进入循环&#xff0c;循环条件为 left < right。 在每次循环中&…

每日五道java面试题之mybatis篇(五)

目录&#xff1a; 第一题. 实体类属性名和表中字段名不⼀样 &#xff0c;怎么办?第二题. Mybatis是否可以映射Enum枚举类&#xff1f;第三题. Mybatis能执⾏⼀对⼀、⼀对多的关联查询吗&#xff1f;第四题. Mybatis是否⽀持延迟加载&#xff1f;原理&#xff1f;第五题. 如何获…

HTML_CSS学习:超链接、列表、表格、表格常用属性

一、超链接_唤起指定应用 1.相关代码 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>超链接_唤起指定应用</title> </head> <body><a href"tel:10010">电话联…

记录C++中,子类同名属性并不能完全覆盖父类属性的问题

问题代码&#xff1a; 首先看一段代码&#xff1a;很简单&#xff0c;就是BBB继承自AAA&#xff0c;然后BBB重写定义了同名属性&#xff0c;然后调用父类AAA的打印函数&#xff1a; #include <iostream> using namespace std;class AAA { public:AAA() {}~AAA() {}void …

Android Studio实现内容丰富的安卓图书馆座位图书预约系统

获取源码请点击文章末尾QQ名片联系&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动 项目编号109 1.开发环境android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登录 2.查看公告 3.查看图书馆座位 4.查看图书馆图书&#xff0c…

Tcl学习笔记(一)——环境搭建及基本语法

一、Tcl简介 TCL&#xff08;Tool Command Language&#xff0c;即工具命令语言&#xff09;是一种解释执行的脚本语言。所谓解释执行语言&#xff0c;是指其不需要通过编译和联结&#xff0c;而是直接对每条语句进行顺序解释、执行。 TCL包含语言和工具库&#xff0c;TCL语言主…

开源数据集 nuScenes 之 3D Occupancy Prediction

数据总体结构 Nuscenes 数据结构 可以看一下我的blog如何下载完整版 mmdetection3d ├── mmdet3d ├── tools ├── configs ├── data │ ├── nuscenes │ │ ├── maps │ │ ├── samples │ │ ├── sweeps │ │ ├── lidarseg (o…

绝地求生:现在购买通行证还能兑换成长型武器吗?

大家好&#xff0c;我闲游盒&#xff0c;这几天收到几位盒友的私信咨询我现在购买通行证还能获得一把成长型武器吗&#xff1f;我相信还有许多盒友也有此困惑&#xff0c;那我就在这统一回复了&#xff0c;目前距通行证和商城物资箱礼包下架还有最后16天时间&#xff0c;众所周…

【Linux】从零开始认识进程 — 前篇

我从来不相信什么懒洋洋的自由。我向往的自由是通过勤奋和努力实现的更广阔的人生。。——山本耀司 从零开始认识进程 1 认识冯诺依曼体系2 操作系统3 进程3.1 什么是进程&#xff1f;&#xff1f;&#xff1f;3.2 进程管理PCB 3.3 Linux中的进程深入理解 3.4 进程创建总结 送给…

(一)Linux+Windows下安装ffmpeg

一丶前言 FFmpeg是一个开源的音视频处理工具集&#xff0c;由多个命令行工具组成。它可以在跨平台的环境中处理、转换、编辑和流媒体处理音视频文件。 FFmpeg支持多种常见的音视频格式和编解码器&#xff0c;可以对音视频文件进行编码、解码、转码、剪辑、合并等操作。它具有广…

如何在Tomcat中的webapp中手动发布

这里写目录标题 首先进入Tomcat文件夹进入webaaps中,编写Java代码最后进入浏览器打开就看可以进入这个界面了 首先进入Tomcat文件夹 如图: 进入webaaps中, 编写Java代码 最后进入浏览器打开 就看可以进入这个界面了

PX4|基于FAST-LIO mid360的无人机室内自主定位及定点悬停

目录 前言环境配置运行fast-lio修改px4位置信息融合方式编写位置坐标转换及传输节点 前言 在配置mid360运行环境后&#xff0c;可使用mid360进行室内的精准定位。 环境配置 在livox_ros_driver2的上级目录src下保存fast-lio的工程 git clone https://github.com/hku-mars/F…

AI短视频制作一本通:文本生成视频、图片生成视频、视频生成视频

第一部分&#xff1a;文本生成视频 1. 文本生成视频概述 随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;视频制作领域也迎来了创新的浪潮。文本生成视频是其中的一项令人激动的进展&#xff0c;它利用自然语言处理技术将文本内容转化为视频。这项技术在广…

redis和rabbitmq实现延时队列

redis和rabbitmq实现延时队列 延迟队列使用场景Redis中zset实现延时队列Rabbitmq实现延迟队列 延迟队列使用场景 1. 订单超时处理 延迟队列可以用于处理订单超时问题。当用户下单后&#xff0c;将订单信息放入延迟队列&#xff0c;并设置一定的超时时间。如果在超时时间内用户…

默写单词cpp(初学者版本)

笔摔坏了直接使用版:yum:仔细学习版:yum:1.直接使用版:yum:&#xff08;文件使用规范&#xff09;(1)文件(2)使用规范 2.仔细学习版。将会讲各个函数的功能和细节。今天太晚了&#xff0c;明天再写。 笔摔坏了 在一个阳光明媚的早晨&#xff0c;我愉快的奋笔疾书&#xff0c;抄…

基于VMware虚拟机安装MacOS BigSur系统

这周用VMWare搞了个MacOS虚拟机&#xff0c;也算是完成初中高中时候的梦想了吧~~&#xff08;那时候我的电脑配置还很拉跨&#xff0c;带不动虚拟机&#xff09;~~ 写一篇博客记录一下&#xff0c;当然这也是yonagi04.github.io建站的第一篇新博客 准备工作&#xff08;VMWare…

c++ 常用函数 集锦 整理中

c 常用函数集锦 目录 c 常用函数集锦 1、string和wstring之间转换 2、经纬度转 xyz 值 互转 3 、获取 根目录下的文件地址 1、string和wstring之间转换 std::string convertWStringToString(std::wstring wstr) {std::string str;if (!wstr.empty()){std::wstring_convert<…

31-Java前端控制器模式(Front Controller Pattern)

Java前端控制器模式 实现范例 前端控制器模式&#xff08;Front Controller Pattern&#xff09;是用来提供一个集中的请求处理机制&#xff0c;所有的请求都将由一个单一的处理程序处理该处理程序可以做认证/授权/记录日志&#xff0c;或者跟踪请求&#xff0c;然后把请求传给…
最新文章