约束是作用于表中字段上的规则,用于限制存储在表中的数据。保证数据库中数据的正确、有效性和完整性。
约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。
用来唯一标识数据库中的每一条记录,通常不用业务字段作为主键,单独给每张表设计一个 id 的字段,把 id 作为主键。主键是给数据库和程序使用的,不是给最终的客户使用的。所以主键有没有含义没有关系,只要不重复,非空就行。
- 主键约束要求字段的值在全表必须唯一,而且不能为null值。
- 建议主键使用数字类型,因为数字的检索速度非常快,而且还可以设置自增长。
- :在创建表的时候给字段添加主键
- :在已有表中添加主键
- :修改自增长的默认值起始值
- :创建好以后修改起始值
delete 和 truncate 对自增长的影响:
- delete:删除所有的记录之后,自增长没有影响。
- truncate:删除以后,自增长又重新开始。
- 唯一约束要求字段值如果不为null,那么在全表必须唯一。
- :表中某一列不能出现重复的值
- :删除唯一约束
- 非空约束要求字段的值不能为null值
- null值是没有值,而不是”“空字符串
- :某一列不能为 null
- :不传参数的话,指定一个默认值
如果字段设置了非空与唯一约束,该字段与主键的区别:
- 主键在一个表中,只能有一个。不能出现多个主键。主键可以单列,也可以是多列。
- 自增长只能用在主键上。
外键约束用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。
- 主表:一方,用来约束别人的表
- 从表:多方,被别人约束的表
- 新建表时增加外键:
- 已有表增加外键:
- 删除外键:
添加了外键之后,再删除父表数据时产生的约束行为,就称为删除/更新行为。具体的删除/更新行为有以下几种:
- 在修改和删除主表的主键时,同时更新或删除副表的外键值,称为级联操作:


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/176034.html