数据库约束

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

相关推荐
软件聚导航11 小时前
「聚小软 AI 助手」技术升级:从数据库检索到 RAG 知识库问答
前端·数据库·mysql·微信小程序·小程序·ai编程·rag
2601_9609067211 小时前
1X发布自己的世界模型1XWM
mysql·mongodb·rabbitmq·memcached
夜雪一千12 小时前
MySQL 各种数据同步方案全梳理:从简单复制到异构同步实战
数据库·mysql
ruleslol13 小时前
MySQL: OR查询为什么会导致索引失效
mysql
进阶的小木桩14 小时前
mysql 安装问题解决方案记录
数据库·mysql
dazhong201215 小时前
Docker 入门篇(八)-- CentOS7 安装 MySQL 8
mysql·docker·容器
想带你从多云到转晴17 小时前
MySQL重点梳理
数据库·mysql
冰暮流星18 小时前
mysql之外键约束
数据库·mysql
betazhou19 小时前
mysql shell8.4.10+mysql 8.4.10搭建MySQL replicaset主从
数据库·mysql·ffmpeg·replicaset·mysql shell
2601_9620652521 小时前
2.启动mysql容器
java·数据库·mysql