数据库约束

1.约束分类

2.not null------非空约束

约束前:

约束后:

3.default------默认值

未设置默认值:

设置默认值后:

或者:

1.注意默认值的触发规则:

defalut约束只有在完全不指定该字段时或者显示写default时才会生效

而如果在指定有默认值得字段时显示写了'null',那么会直接插入null

运行结果如下:

正确写法:

或者:

4.unique------唯一值

未约束唯一前:

约束唯一值之后:

1.注意unique与distinct不同:

distinct是数据库服务器存储的内容中已经有重复的了,展示给用户的时候用distinct就会展示去重的结果

而unique再插入时就不能是存储重复的数据

5.primary key------主键约束,not null+unique

未约束:

约束后:

1.插入重复值直接报错

2.插入null直接报错

3.正确插入

1.主键起到"身份标识"的作用,唯一确定一个值

6.自增主键设置:auto_increment

未约束:

约束后:

1.并且每次自增都是从已有序列中选最大的数+1

2.虽然看起来有序,但仍然不能依赖SQL的顺序,需要手动order by

相关推荐
唐青枫2 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
小满8782 天前
5.Mysql事务隔离级别与锁机制
mysql
元Y亨H3 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql
这个DBA有点耶4 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵4 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
SamDeepThinking4 天前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员
李白客6 天前
KES新版MySQL兼容能力再升级意味着什么?
mysql·国产数据库
Jim6008 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql
GreatSQL8 天前
gt-checksum v4.0.0 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级
mysql