数据库约束

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

相关推荐
呆瑜nuage2 小时前
MySQL数据类型全解析
数据库·mysql
Harvy_没救了2 小时前
MySQL主从架构深度解析:原理、优化与实践指南
运维·mysql·架构
黑牛儿2 小时前
MySQL 实战进阶:从单表优化到分布式数据库适配
数据库·分布式·mysql
momin~2 小时前
MySQL-part3【数据库约束、表设计】
数据库·mysql
wregjru2 小时前
【MySQL】5. 数据更新与查询详解
java·数据库·mysql
卤炖阑尾炎11 小时前
基于 MySQL 主主复制 + HAProxy+Keepalived 构建高可用集群实战
数据库·mysql
Dxy123931021611 小时前
MySQL 如何高效删除大量数据:策略与最佳实践
数据库·mysql·oracle
黑牛儿14 小时前
MySQL 索引实战详解:从创建到优化,彻底解决查询慢问题
服务器·数据库·后端·mysql
想唱rap15 小时前
线程池以及读写问题
服务器·数据库·c++·mysql·ubuntu