数据库约束

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 小时前
Docker Swarm 线上环境 MariaDB XA 悬停事务故障排查
mysql·异常
小白男神2 小时前
MySQL进阶学习三(视图)
后端·mysql
文人sec5 小时前
grant 之后要跟着 flush privileges 吗?要不要使用分区表?
数据库·mysql·adb·数据分析
高级程序源5 小时前
django招聘网站信息爬取与分析系统79704-计算机课程设计、毕业设计
后端·python·mysql·小程序·django·flask·课程设计
毕业设计7037 小时前
(免费领源码) SpringBoot 游戏交易平台17600-java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
java·spring boot·mysql·决策树·mybatis·idea·推荐算法
溪语流沙7 小时前
Django + Vue电商项目第001讲:开篇|注册登录加增删改查,那不是电商
redis·python·mysql·docker·typescript·django·vue
程序员阿黄7 小时前
基于 Django 与 Vue 3 的智能实验室预约系统设计与实现
后端·python·mysql·django·vue·毕设
Sirens.9 小时前
MySQL数据库:JDBC编程
数据库·mysql
连山齐名9 小时前
MySQL八股文面试题
mysql
‎ദ്ദിᵔ.˛.ᵔ₎1 天前
MySQL 表约束
数据库·mysql