文章目录
一、默认约束
二、非空约束
三、唯一约束
四、主键约束
五、外键约束
一、默认约束
1.1 默认约束的相关概念:
默认约束用于数据表中的字段指定默认值,是在插入数据时,如果没有用户给字段赋值,系统将会自动给字段赋予指定的默认值,关键字为default
1.2 添加默认约束的两种方法
(1)在定义表结构时添加
一般格式为:
create table 数据表名( 字段名 字段类型 [null] default 默认值);
(2)通过修改表结构添加
一般格式为:
alter table 数据表名 modify 字段名 数据类型 unsigned default 默认值 ;
1.3 删除默认约束
alter table 数据表名 modify 字段名 数据类型 unsinged;
二、非空约束
2.1 非空约束的相关概念
非空约束是指字段的值不能为null, 关键字为 not null;
2.2 非空约束的定义与删除
非空约束的添加与删除非空约束与默认约束是类似的,这里就不再多概述了
三、唯一约束
3.1 唯一约束的相关概念
唯一约束用于保证数据表中字段的唯一性,简单来说就是表中字段的值不可重复出现,关键字为 unique
3.2 添加唯一约束
(1)在定义表结构时添加
create table 数据表名(字段名 字段类型 unique);
(2)通过修改表结构添加
alter table 数据表名 add unique(字段名);
3.3 删除默认约束
alter table 数据表名 drop index 字段名;
四、主键约束
4.1 主键约束相关概念
为了快速查找表中的基本信息,主键可以唯一表示表中的记录,关键字为primary key
4.2 添加主键约束
(1) 在定义表结构时添加
create table 数据表名(字段名 字段类型 primary key);
(2)通过修改表结构时添加
1)alter table 数据表名 add primary key(字段名)
2)alter table 数据表名 modify 字段名 字段类型 primary key
五、外键约束
5.1 外键约束的相关概念
为了保证不同表中含义数据的一致性和完整性,为数据表添加外键约束;外键是指一个表中引用另一个表中一列或多列,被引用的累应具有主键约束或唯一约束,从而保证数据的一致性和完整性,关键字为 foreign key
5.2 添加外键约束
(1)在定义表结构时添加
1)(简单)create table 数据表名(字段名 字段类型,foreign key(本数据表创建的字段名) references 其他数据表名(【其他数据表内的】字段名));
2)constraint 外键名称 foreign key(字段名)references 其他数据表名(【其他数据表内的】字段名)on delete restrict on update cascade
(2)修改表结构时添加
alter table 数据表名 add constraint 外键名称 foreign key(字段名)references 其他数据表名(【其他数据表内的】字段名)on delete restrict on update cascade;
(注:标红字段是添加外键约束的参数)
说明:
restrict:默认值,拒绝主表删除或修改外键关联字段;
cascade:主表中删除或更新记录时,同时自动删除或更新从表中对应的记录
set null:主表中删除或更新记录时,使用null值替换表中对应的记录(不适用于not null字段)
no action:与默认值restrict相同,拒绝主表删除或修改外键关联字段;
set default:设置默认值,InnoDB不支持;