MySQL

发布于:2024-07-07 ⋅ 阅读:(45) ⋅ 点赞:(0)

DDL(数据定义语言)

在这里插入图片描述
在这里插入图片描述

创建和查看表

格式

在这里插入图片描述
在这里插入图片描述

数据类型

在这里插入图片描述
数值类型
在这里插入图片描述
字符串类型
在这里插入图片描述
日期类型
在这里插入图片描述
相同点
用途相同:两者都用于存储日期和时间的组合值,通常包括年、月、日、小时、分钟和秒。
格式相同:它们的格式通常是 YYYY-MM-DD HH:MM:SS。
存储相同:在许多数据库系统中,它们都可以存储毫秒级别的精度。

不同点

  1. 时间范围:
    Datetime:在 MySQL 中,Datetime 的有效范围是 ‘1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’。这使得它适用于更广泛的时间范围需求。
    Timestamp:Timestamp 的有效范围是 ‘1970-01-01 00:00:01’ UTC 到 ‘2038-01-19 03:14:07’ UTC。它的范围受到 UNIX 时间戳的限制(32位的整数)。
  2. 时区处理:
    Datetime:Datetime 字段不处理时区。它存储的时间值与时区无关,并且在存储和读取时不会进行时区转换。
    Timestamp:Timestamp 字段会根据服务器的时区设置进行转换。当插入一个 Timestamp 值时,它会先将其转换为 UTC,然后存储。当读取该值时,它会将其转换回服务器的时区。
  3. 自动更新:
    Datetime:Datetime 字段不会自动更新。
    Timestamp:Timestamp 字段可以配置为在每次行更新时自动更新(使用 CURRENT_TIMESTAMP 作为默认值并配置 ON UPDATE)。
  4. 存储方式:
    Datetime:存储的是字符串形式的日期时间,通常使用8字节存储。
    Timestamp:存储的是从1970年1月1日开始的秒数,即 UNIX 时间戳,通常使用4字节存储。
  5. 实际使用

Datetime 通常用于需要存储绝对时间且不涉及时区转换的场景,比如记录事件的发生时间、预约时间等。
Timestamp 更适用于需要记录和比较时间戳的场景,尤其是当数据在不同时区的系统之间传输时,如记录最后修改时间、创建时间等。

修改表结构

在这里插入图片描述
修改列
alter table student change dept department VARCHAR(30);

在这里插入图片描述
在这里插入图片描述

DML(数据操作语言)

在这里插入图片描述

数据插入

在这里插入图片描述

使用, 可以插入多条数据
INSERT into student (sid,name,gender,age,birth,address) 
VALUES (1001,'李四','男',18,'2001-07-23','南昌'),
(xxx),
(xxx);

数据修改

在这里插入图片描述

数据删除

在这里插入图片描述

MySQL约束

在这里插入图片描述

主键约束

在这里插入图片描述

单列主键在这里插入图片描述在这里插入图片描述

pk1是主键名,括号里是列名,pk1可以省略

联合主键

在这里插入图片描述
联合主键里的各列任何一个都不能为空

在这里插入图片描述
在这里插入图片描述

自增长约束

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

非空约束

在这里插入图片描述
在这里插入图片描述

唯一约束

在这里插入图片描述
NULL和任何值都不相等,NULL和NULL都不相等,所以设置了唯一约束的列是可以同时为NULL的

删除唯一约束

alter table <table name> drop index <唯一约束名>

默认约束

在这里插入图片描述

零填充约束

在这里插入图片描述
如果插入了123,则会变成0000000123(加了约束后int是10位)


网站公告

今日签到

点亮在社区的每一天
去签到