数据库约束

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

相关推荐
Yyyyyy~5 小时前
[ Mysql ] 库的操作
mysql
小米里的大麦5 小时前
16 MySQL 事务
数据库·mysql
Titan20246 小时前
MySQL访问个人学习笔记
笔记·学习·mysql
for_ever_love__7 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
for_ever_love__8 小时前
MySQL 高频面试题 30 问:索引、事务、锁、日志、主从与分库分表(MySQL 8.0 版)
java·数据库·spring boot·mysql·spring cloud·面试·总结
java1234_小锋11 小时前
【技术专题】Mysql8 数据库 - Mysql8 触发器
数据库·mysql·mysql8
雨落在了我的手上13 小时前
MySQL数据库基础(6):增删改查操作(1)
数据库·mysql
ao-weilai13 小时前
MySQL数据库:用户管理
数据库·mysql·adb
ao-weilai14 小时前
MySQL数据库:C语言连接MySQL教程
c语言·数据库·mysql
SatanII14 小时前
MySQL 数据库学习总结|理论 + SQL 实训完整笔记
数据库·学习·mysql