复习-约束

常见的约束
not null:非空
unique:唯一
delault:默认,唯一
cheack:检查
primary key:主键,该字段的值不可重复并且非空
foreign key:外建,引用另外的表的字段
主键和唯一
区别:
一个表至多有一个主键,但可以有多个唯一
主键不允许为空,唯一可以为空
相同点
都具有唯一性
都支持组合键,单不土建
外建
1.用于限制俩表的关系,从表的字段值引用主键表的莫字段值
2.外建列和主表的被引用列要求类型一致,意义一样,名称无要求
3.主标的被引用要求是一个key
4.插入数据,先插入主表
删除数据,先删除从表


方式一:alter table stuinfo add constraint fk_stu_ major key(majorid)
references major(id) on delete cascade;
方式2:alter table stuinfo add constraint fk_stu_major foreign key(majorid) references
on delete set null;
及联更新和级联删除
传统方式加外建
alter table stuinfo add constraint foreign key
(major) ;

alter table stuinfo add constralint fk_ stu_major
foreign key(majorid) references major(id)
on ddelete cascade;

alter table stuinfo add constralint fk_ stu_major
foreign key(majorid) references major(id)
on delete set null;


创建表加约束
create table 表名(
字段名 类型 not null ,
字段名 类型default,
字段名 类型 unipue,
constraint 约束名 foreign(字段名)references 主表 (被引用列)
);

支持类型 可以阿奇约束名
列级约束 除了外建 不可以
表级约束 除了非空和默认 可以,但对主键无效
列级约束可以在一个字段上追加多个,中间空格隔开,没有顺序要求
修改表时添加或删除约束
1.非空
添加
alter table 表名 nodify colunm 字段名 字段类型 not null;
删除
alter table 表名 nodeify column 字段名 字段类型;
2.默认
添加
alter table 表名 nodify colunm 字段名 字段类型 default 值;
删除
alter table 表名 nodeify column 字段名 字段类型;
3.主键
alter table 表名 add primary key(字段名);
删除
alter table 表名 drop primary key;
4.唯一
alter table 表名 unipue;
alter table 表名 drop index;
5.外建
添加
alter table 表名 add foreign key(字段名) referenes 主表(被引用列);
删除唯一
alter table 表名 drop index 索引名;

自整张列
特点:
不用手动插入值,可以自动提供工序列值,默认从一开始,步长为1
auto_increment_incerement
入过更改起始值:手动插入
更改部长:更改系统变量
set auto_increment _increment=值;
2.一个表至多有一个自张列
3.自增长只能至此数值型
4.自增长必须为key
创建表设置自增长列
create table 表(
字段名 字段类型 约束 auto_imcrement
)
修改表时设置自证长列
alter table 表 modify colun 字段名 约束

posted @   langpo  阅读(165)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示