数据库约束

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

相关推荐
时间售卖铺5 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
数据库小组9 小时前
NineData 实战教程:MySQL 5.5 数据迁移同步到 MySQL 8.0(跨版本升级)
数据库·mysql·mysql优化·数据库开发·数据库迁移·版本升级·数据复制
cnskylee10 小时前
【MySQL】麒麟V10 SP3系统安装MySQL-Commercial-8.0.46
数据库·mysql·adb
梦幻通灵10 小时前
修改MySQL数据库递增序列【持续更新】
数据库·mysql
大侠归来11 小时前
常用 MySQL 分库分表方案详解
数据库·mysql
`Levie15 小时前
MySQL-数据库服务日志管理与数据闪回
数据库·mysql
香蕉大香蕉(06敬畏市场)15 小时前
MySQL 单点详解(01)
java·数据库·mysql·面试·博客·实习
吹什么轩16 小时前
MySQL 事务管理:从 ACID 到 MVCC,一篇讲透
数据库·mysql
paopaokaka_luck17 小时前
基于springboot+vue的益暖微光公益服务平台(DeepSeek公益助手、善款信息追溯、志愿服务积分闭环、ECharts运营分析、活动状态自动流转)
java·前端·javascript·spring boot·mysql·架构·echarts
m0_6399069417 小时前
MySQL 锁机制详解|表锁、行锁、意向锁,死锁成因与解决方案
数据库·mysql