约束概念:对表中数据进行限定,保证数据的正确性、有效性和完整性。

分类: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

    级联删除的优点:操作数据方便

         缺点:会降低数据库的性能与效率,删库跑路更方便

  

 

posted on 2021-03-04 21:01  时寒很苦恼  阅读(130)  评论(0)    收藏  举报