约束概念:对表中数据进行限定,保证数据的正确性、有效性和完整性。
分类:1、非空约束
2、唯一约束
3、主键约束(and自动增长)
4、外键约束
1、非空约束 关键字:NOT NULL
1.在创建表时添加非空约束
create table 表名(列名 数据类型 NOT NULL);
2.在创建表后,添加非空约束
alter table 表名 modify 列名 数据类型 NOT NULL;
3.删除非空约束
alter table 表名 modify 列名 数据类型;

2、唯一约束 关键字:UNIQUE
1.在创建表时添加唯一约束
create table 表名(列名 数据类型 UNIQUE);
2.创建表后,添加唯一约束
alter table 表名 modify 列名 数据类型 UNIQUE;
3.删除唯一约束
aliter table 表名 DROP INDEX 列名;
注意事项:添加了唯一约束的值可以为null,且可以多个值为null,可搭配非空约束使用

3、主键约束 关键字:PRIMARY KEY
概念:添加了主键约束的值非空且唯一,一张表只能有一个字段为主键,主键是表中记录的唯一标识
1.创建表时添加主键约束
create table 表名(列名 数据类型 PRIMARY KEY);
2.创建表后,添加主键约束
alter table 表名 modify 字段名 数据类型 PRIMARY KEY;
3.删除主键约束
alter table 表名 DROP PRIMARY KEY; #一张表中只有一个主键,所以不用写字段名

4.创建复合主键
PRIMARY KEY(字段1,字段2);

4、自动增长 关键字:AUTO_INCREMENT
概念:如果某列是数字类型的,使用auto_increment可以完成自动增长,通常搭配主键约束使用
1.在创建表时添加自动增长
create table 表名 (列名 数据类型 PRIMARY KEY AUTO_INCREMENT);
2.在创建表后,添加自动增长
alter table 表名modify 列名 数据类型 AUTO_INCREMENT;
3.删除自动增长
alter table 表名 modify 字段名 数据类型;
5、外键约束 关键字:FOREIGN KEY
意义:让表与表之间产生关系,从而保证数据的正确性
1.在创建表时,添加外键约束
create table 表名(列名 数据类型, constraint 外键别名 foreign key 外键列名称 references 主表名称(主表列名称) );
2.创建表后,添加外键约束
alter table 表名 ADD
constraint 外键别名 foreign key 外键列名称 references 主表名称(主表列名称);
3.删除外键约束
alter table 表名 DROP foreign key 外键别名;
注意事项:主表列名称至少添加了唯一约束,一般添加主键约束

6、级联
1.级联更新
添加外键语句后 + ON UPDATE CASCADE
2.级联删除
添加外键语句后 + ON DELETE CASCADE
级联删除的优点:操作数据方便
缺点:会降低数据库的性能与效率,删库跑路更方便

浙公网安备 33010602011771号