约束是作用于表中字段上的规则,用于限制存储在表中的数据。保证数据库中数据的正确、有效性和完整性。
用来唯一标识数据库中的每一条记录,通常不用业务字段作为主键,单独给每张表设计一个 id 的字段,把 id 作为主键。主键是给数据库和程序使用的,不是给最终的客户使用的。所以主键有没有含义没有关系,只要不重复,非空就行。
- 主键约束要求字段的值在全表必须唯一,而且不能为null值。
- 建议主键使用数字类型,因为数字的检索速度非常快,而且还可以设置自增长。
- :在创建表的时候给字段添加主键
- :在已有表中添加主键
- :修改自增长的默认值起始值
- :创建好以后修改起始值
delete 和 truncate 对自增长的影响:
- delete:删除所有的记录之后,自增长没有影响。
- truncate:删除以后,自增长又重新开始。
- 唯一约束要求字段值如果不为null,那么在全表必须唯一。
- :表中某一列不能出现重复的值
- :删除唯一约束
- 非空约束要求字段的值不能为null值
- null值是没有值,而不是""空字符串
- :某一列不能为 null
- :不传参数的话,指定一个默认值
如果字段设置了非空与唯一约束,该字段与主键的区别:
- 主键在一个表中,只能有一个。不能出现多个主键。主键可以单列,也可以是多列。
- 自增长只能用在主键上。
外键约束用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。
- 主表:一方,用来约束别人的表
- 从表:多方,被别人约束的表
- 新建表时增加外键:
- 已有表增加外键:
- 删除外键:
添加了外键之后,再删除父表数据时产生的约束行为,就称为删除/更新行为。具体的删除/更新行为有以下几种:
- 在修改和删除主表的主键时,同时更新或删除副表的外键值,称为级联操作:
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sqlbc/22659.html