约束部分
-
约束(作用与表中字段,可在创建/修改表的时候添加约束)
-
关键字
-
not null
-
非空约束
-
限制该字段的数据不能为null
-
-
-
unique
-
唯一约束
-
保证该字段的所有数据都是唯一,不重复的
-
-
-
primary key
-
主键约束
-
主键试试一行数据的唯一标识,要求非空且唯一
-
-
-
default
-
默认约束
-
保存数据时,如果未指定该字段的值,则采用默认值
-
-
-
check
-
检查约束
-
保证字段值满足某一条件
-
-
-
foreign key
-
外键约束
-
用来让俩张表的数据之间建立连接,保证数据的一致性和完整性
-
添加外键
-
create table 表名( 字段名 数据类型, ... [constraint][外键名称]foreign key(外键字段名) refernces 主表(主表列名) );
-
alter table 表名 add constraint 外键名称 foreign key(外键字段名) refernces 主表(主表列名);
-
-
删除外键
-
alter table 表名 drop foreign key 外键名称;
-
-
删除/更新行为
-
no action
-
当父表删除/更新对应数据时,首先检查该记录是否有对应外键,如果有则不允许删除/更新.(与RESTRICT一致)
-
-
restrict
-
当父表删除/更新对应数据时,首先检查该记录是否有对应外键,如果有则不允许删除/更新.(与no action一致)
-
-
cascade
-
当父表删除/更新对应数据时,首先检查该记录是否有对应外键,如果有,则也删除/更新外键在子表中的记录.
-
-
set null
-
当父表删除/更新对应数据时,首先检查该记录是否有对应外键,如果有则设置子表中的该外键值为null(这就要求该外键允许取null)
-
-
set default
-
父表有变更时,子表将外键设置成一个默认的值(Innodb不支持)
-
-
alter table 表名 add constraint 外键名称 foreign key(外键字段) refernces 主表名(主表字段名) on update cascade on delete cascade;
-
-
-
-
auto_increment
-
自动增长
-
-
-