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
