MySQL约束

一,约束种类

(1)主键约束(Primary Key) PK

主键约束是表中最常用的约束,它可以确保每条数据的唯一性,比如学号,身份证号之类的唯一性凭证,所以主键不允许为空且唯一。

(2)外键约束(Foreign Key) FK

外键约束经常和主键约束一起使用,用来确保数据的一致性。外键可以认为是表与表之间的桥梁,在主表中外键的取值只能在副表中取,比如部门ID号作为外键,那么只能在部门ID有定义的副表中取值。

(3)唯一性约束(Unique)

唯一约束与主键约束有一个相似的地方,就是它们都能够确保列的唯一性。与主键约束不同的是,唯一约束在一个表中可以有多个,并且设置唯一约束的列是允许有空值的。

(4)非空约束(Not Null)

非空约束用来约束表中的字段不能为空。

二,操作约束

(1)主键约束的操作

主键分为单一主键和联合主键,单一主键以一列作为主键,联合主键以多列作为主键,在联合主键中,只有全部值都相等时才会触发约束。

<1>添加主键

ALTER TABLE 表名 ADD PRIMARY KEY(列名)

 主键的自增长:

alter table 表名 modify 主键 类型 auto_increment;

自增长需要主键类型为整型类型,当删除主键时,需要先清除自增长。

<2>删除主键

ALTER TABLE 表名 DROP PRIMARY KEY;

(2)外键约束的操作

<1>添加外键

ALTER  TABLE 表名 ADD CONSTRAINT 约束名 
 FOREIGN  KEY( 列 名 ) REFERENCES 参照的表名
(参照的列名);

外键可以看成用参照表中列的值来限制主表中的值,比如参照表中部门ID列只有1,2,3这三种情况,那么主表中部门ID的分配就只能在这三个值中选,不能跳出范围,因为员工不能分配到不存在的部门中。 

<2>删除外键 

ALTER TABLE 表名 DROP FOREIGN KEY 约束名;

 (3)唯一性约束操作

<1>添加唯一性约束

ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE(列名);

唯一性有约束只要不相等就可以,可以为空。

<2>删除唯一性约束

ALTER TABLE 表名 DROP KEY 约束名;

(4)非空约束操作

<1>添加非空约束

ALTER TABLE 表名 MODIFY 列名 类型 NOT NULL;

<2> 删除非空约束

ALTER TABLE 表名 MODIFY 列名 类型 NULL;

三,创建表时添加约束

create table depts(department_id int primary 
key auto_increment,department_name 
varchar(30) unique,location_id int not null);

 

 

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值