18. 约束

来源:互联网 发布:淘宝店铺首页设置客服 编辑:程序博客网 时间:2024/05/21 04:00

这里写图片描述


1.外键约束
这里写图片描述
这里写图片描述

外键列自动创建索引

这里写图片描述

这里写图片描述
这里写图片描述
这里写图片描述

cascade:
这里写图片描述

父表删除记录,子表对应的记录也删除

set null:
这里写图片描述

父表删除记录,子表对应的记录设置为 null

restrict:
这里写图片描述

拒绝主表删除对应记录

no action:
这里写图片描述

拒绝主表删除对应记录
这只是物理上做限制,可以从逻辑上做限制,因为物理只支持 InnoDB

2.表级约束和列级约束
这里写图片描述


3.数据表的修改

增加1列:
这里写图片描述

alter table 表名add transactor varchar(10) not Null FIRST;alter table 表名add transactor varchar(10) not Null AFTER 字段名;

这里写图片描述
这里写图片描述

添加多列:
这里写图片描述
这里写图片描述


删除1列:
这里写图片描述
这里写图片描述

alter table 表名 drop 字段名

添加约束:
这里写图片描述

alter table user2 add primary key (id);

这里写图片描述

alter table user2 add unique (username);

这里写图片描述

alter table user2 add foreign key (pid) references privince(id);

这里写图片描述
这里写图片描述

alter table user2 add age tinyint unsigned not null;alter table user2 alter age set default 15; 

这里写图片描述
这里写图片描述

alter table user2 drop primary key; //删除主键约束

这里写图片描述
这里写图片描述

alter table user2 drop index username;

这里写图片描述

alter table 表名 drop foreign key 外键名字

这里写图片描述
这里写图片描述

alter table user2 modify age tinyint unsigned first;alter table user2 modify age int unsigned first; // 大类型改小类型,会有数据的丢失

这里写图片描述
这里写图片描述

alter table user2 change age Page tinyint unsigned not null;change 可以改名字

这里写图片描述

alter table user2 rename user22;rename table user22 to user222;

这里写图片描述

0 0
原创粉丝点击