(3)MySql约束

一、表级约束和列级约束

表级约束:对2个或2个以上数据列建立的约束。
列级约束:对1个数据列建立的约束。
通常,列级约束使用多。

二、约束分类

1:主键约束 PRIMARY KEY
每张数据表只能存在一个主键
主键保证记录的唯一性

2:唯一约束 UNIQUE KEY
主键约束一张数据表只能有一个
唯一约束一张数据表可以有多个
都是为了保证记录的唯一性

3:默认约束 DEFAULT
当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。

4:外键约束:保持数据一致性、完整性。实现一对一或一对多的关系。

  • 要求:

1:父表和子表必须具有相同的存储引擎:,且存储引擎只能为InnoDB.
2:外键列(pid)和参照列(id)必须具有相似的数据类型。其中数字类型的长度和是否有符号位必须相同,而字符的长度可以不同。
3:外键列和参照列必须创建索引,外键列(pid)没有索引,自动创建索引,参照列(id)没有索引不会自动创建,必须手动创建索引。

外键约束的参照操作
外键约束参照操作有四种,所谓参照操作,就是子表和父表相互参照的一种操作关系。
1:CASCADE 从父表删除或更新则自动删除或更新子表中的内容。
2:SET NULL 从父表删除或更新行,则自动设置子表的对应外键列为NULL。
3:RESTRICT 或 NO ACTION 拒绝对父表的删除或更新操作。(即子表中的内容在父表中有对应的数据时,不允许对父表中对应的行进行删除或更新操作)

三、删除约束

1:删除主键约束
ALTER TABLE tablename DROP PRIMARYKEY
2:删除唯一约束
ALTER TABLE tablename DROP INDEX 约束名称
查看约束名称:SHOW INDEX FROM tablename
3:删除外键约束
ALTER TABLE tablename DROP FOREIGN KEY 约束名称
查看外键约束名称
SHOW CREATE TABLE tablename\G;
4:删除默认约束
ALTER TABLE tablename ALTER 字段名称 DROP DEFAULT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值