数据库约束
对储存数据的约束,确保储存数据的准确性
not null(非空约束) | 该行不能不存储值,null也不能 |
default 默认约束 | 当没有插入值时,该列就默认插入default给的值 |
unique 唯一约束 | 这个行的数据是唯一的 |
primary key 主键约束 | 是unique和not null的结合 |
foreign key 外键约束 | 用与俩个表之间的关联关系,确保俩个表的数据 的完整和同意 |
check 约束 | 限制列或数据在储存时的值 |
创建的初始表
Null 表示该行能否为空 not null约束
key 列 UNI表示该行有unique约束 PRI表示有primary key 约束 default 那行就表示默认约束
并显示的默认的值是什么 extra 表示额外添加的属性
not null 非空约束
查看表属性时,null那一列为NO就表示该行不能为空
在进行插入元素时,该列不能为空
若没有给值会报Field 'not_null' doesn't have a default value错误
defalut 约束
在插入时若没有指定给他输入值,那么就会默认为他给定的值
unique约束
储存在该行的数据布能相同
相同会报这个错误
primay key 有unique 和 not null这俩个属性
复合主键
foreign key 外键约束
添加外键约束
也可以在创建表时就加入,不过上面还是灵活
MUL就表示外键约束 有了外键约束 添加的数据必须和他关联的表中有的
这里有约束行id
如果我给插入了约束行以外的值的话
外键约束的作用就体现出来了 保证了数据的准确性
对于要删除被约束的俩个表
约束的表要等被约束的表(有外键约束的那个表)删除之后才可以删除
check 约束 约束插入的数据内容 插入改行的数据内容就只能是check中指定的那几个数据
重构了这个表 ,若插入的不是这俩个字符的话
删除check约束
删除default约束
移除主键的约束
移除这个行的外键约束
删除not null 约束