约束
2020-02-22 本文已影响0人
荼蘼toome
简介:约束是一种限制,通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性
MySQL中常用的几种约束类型
关键字
非空约束 not null
主键约束 primary key
唯一约束 unique
默认约束 default
外键约束 foreign key
非空约束(Not Null constraint)
定义:指字段的值不能为空。对于使用了非空约束的字段如果用户在添加数据时,没有指定值,数据库系统会报错
语法规则:
列名 数据类型 not null
空值与非空
null : 字段值可以为空
not null : 字段值禁止为空
主键约束(Primary Key Constraint)
要求主键列的数据唯一,并且不能为空
作用:标识表中的一条记录。。唯一的id
主键的类型
单字段主键。。。多字段联合主键
- 在定义列的时候指定主键
列名 数据类型 primary key - 在列定义的后边指定主键
[constraint 约束名 ] primary key (列名);
多字段联合主键(或者叫做复合主键)
主键有多个字段(列)联合组成
parmary key(字段1,字段2...);
删除主键
唯一约束Unique Constraint
要求该列唯一,允许为空,唯一约束可以确保一列或者几列不出现重复值
语法规则
- 定义完列之后直接指定唯一约束
列名 数据类型 unique
- 定义玩所有列之后指定唯一约束
[constraint <约束名>]unique (<列名>)
唯一约束和主键约束的区别
- 一个表中可以有多个unique声明,但只能有一个primary key声明
- 声明为primary key 的列不允许有空值
- 但是声明为unique的列允许为空值
默认约束Default constraint指定某列的默认值
语法规则:
列名 数据类型 default 默认值
外键约束
简介:外键是用在两个表的数据之间建立链接,可以是一列或者多列。一个表可以有一个或多个外键
外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值
作用:保持数据的一致性,完整性
具有关联关系的表,不允许删除
references关联