MySQL:表的约束上
目的
为了保证数据的合法性,不单单对数据类型做约束,从业务逻辑角度也做约束,使得之后插入表的数据是符合预期的
空属性
有null和not null
数据库默认字段是空,但实际应用中尽量使字段不为空,防止无法运算
比如一间教室有班级的名字和教室的名字,我们在创建的时候给一个约束,这样在显示的时候,Null一栏就是NO,不允许为空
我们正常插入一组数据
插入空
不允许这么做
默认值
某些数据经常作为具体的值出现,可以给定默认值,作为需要数据时的备用
使用示例
null和default
- 在指明not null的前提下
没指明要插入哪一列时,看default
如果没设置default,就无法输入二者是相互补充的 - 没指明非空也没有给出default的时候
是default null
二者是相互补充的
列描述
专门用于描述字段,无约束
zerofill
像是int(10) ,这个10有什么用,他是结合zerofill来看的
先创建一个表
给b增加zerofill
插入两组数据
可以看到b的输出自动补全到10位,
如果是int(5), 就会自动补全到5位
超出5位不做限制
注意,zerofill只是在显示的时候做了格式调整,实际存的数据还是1和2
小结
主键,唯一键,外键下文介绍