SQL的六种约束
约束关键字 Constraints
作⽤:限制表的数据类型,
第⼀种⽅式:创建表的时候添加约束,create table语句
第⼆种⽅式:创建表之后添加约束,alter table语句
注:红⾊为注意事项
1、not null(不能为空)
创建表时约束not null
创建car表时约束了carid字段不能为空
2、unique(此字段的每条记录必须唯⼀,⼀般我们⽤来约束id,他和primary key⼀样,都对字段保证了唯⼀性)
创建表时约束unique
创建表之后约束unique
图⼀:创建car表的时候约束了字段carid必须拥有唯⼀性
图⼆:修改car表字段类型,给car表的carname字段添加⼀个unique约束
3、primary key(设置此字段为这张表的主键,每个表应该有⼀个主键,⽽且每个表都只能有⼀个主键,主键字段必须唯⼀且不能有null值)
创建时设置主键
sql约束条件大于0
创建后设置主键
图略:alter语法
附:primary key还有⼀种情况,联合主键。(⼀句话概括 = 两个或两个以上的字段都设置成主键),这⾥看似违反了unique,其实不然。它是把联合主键看成⼀个主键
这⾥我们说⼀下联合主键,见下图
创建表时设置联合主键
我们可以看到被创建的car表,他的两个字段carid和carname被设置成了联合主键
创建后设置主键
图略:alter语法
4、foreign key(设置此字段为这张表的外键,它指向另⼀张表的主键。) foreign key约束防⽌破坏表连接,外键字段⾥的所有数据,必须是另⼀张表的主键字段⾥的值。
也就是说,⼀张表的外键必须指向另⼀张表的主键
创建时设置外键
创建smallcar表,给smallcarid字段设置了主键,给carid字段设置了指向car表的carid字段的外键
创建后设置外键
图略:alter语法
5、check(约束⽤于限制字段中的值的范围)
对单个字段check的约束,那只允许该字段的值为特定的值
对表check的约束,会在特定的字段进⾏数据限制
创建表时check约束
约束字段carid的值必须⼤于0,多个check约束可以效仿上⾯的⼏个约束。
但是括号⾥⾯要⽤and进⾏隔开
创建表后check约束
图略:alter语法
6、default(默认值,如果定义了默认值,再插⼊数据时如果没有插⼊数据,会根据默认值插⼊)
创建时设置default约束
上⾯的carname记录是⾃动添加的
给carname字段设置了default约束,那么我们在插⼊记录的时候即使没有填写carname字段的数据。会默认给我们⼀个'carname‘数据
创建后添加default约束
图略:alter语法
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论