1、主键约束
为了保证实体的完整性,主键列中的值是不允许重复的,通过主键约束可以强制实现表的实体完整性。一张表中只能有一个PRIMARY KEY 约束,且被约束的列不允许出现NULL值。
1、在创建表结构时创建约束
CREATE TABLE 表名 (
字段1 字段类型 ,字段2 字段类型,
PRIMARY KEY (字段1));
2、在更改表结构时创建约束
ALTER TABLE 表名 modify 字段名 字段类型 PRIMARY KEY;
3、删除主键约束
ALTER TABLE 表名 DROP PRIMARY KEY;
2、联合主键
一张表中可以存在多个主键
1、创建表结构时创建约束
CREATE TABLE 表名 (
字段1 类型,字段2 类型,字段3 类型,
PRIMARY KEY(字段1,字段2));
2、在更改表结构时创建约束
ALTER TABLE 表名 ADD PRIMARY KEY (字段1,字段2);
3、自增长列(标识列)
是由数据库自动维护,不会重复,必须和KEY搭配使用,一张表最多可以有一个
标识列
1、在创建表结构时创建约束
CREATE TABLE 表名 ( 字段1 字段类型 AUTO_INCREMENT,字段2 字段类型, PRIMARY KEY (字段1));
2、在更改表结构时创建约束
ALTER TABLE 表名 modify 字段名 字段类型 AUTO_INCREMENT;
3、删除约束
ALTER TABLE 表名 MODIFY 字段名 类型;
4、唯一约束
使得主键列中的数据具有唯一性。
1、在创建表结构时创建约束
CREATE TABLE 表名 ( 字段1 字段类型 ,字段2 字段类型, UNIQUE (字段2));
2、在更改表结构时创建约束
ALTER TABLE 表名 modify 列名 类型 UNIQUE;
3、删除唯一约束
ALTER TABLE 表名 DROP INDEX 字段名 ;
5、默认约束
为列中的值设置默认值
1、在创建表结构时创建约束
CREATE TABLE 表名 ( 字段1 字段类型 ,字段2 字段类型, 字段3 字段类型 DEFAULT 默认值;
2、在更改表结构时创建约束
ALTER TABLE 表名 modify 字段名 字段类型 DEFULT 默认值;
3、删除默认约束
ALTER TABLE 表名MODIFY 字段名 字段类型;
6、非空约束
1、在创建表结构时创建约束
CREATE TABLE 表名 ( 字段1 字段类型 ,字段2 字段类型, 字段3 字段类型 NOT NULL;
2、在更改表结构时创建约束
ALTER TABLE 表名 modify 字段名 字段类型 NOT NULL;
3、删除非空约束
ALTER TABLE 表名MODIFY 字段名 字段类型;
7、外键约束
1、在创建表结构时创建约束
CREATE TABLE 表名 (
字段1 字段类型 ,字段2 字段类型,
字段3 字段类型 ,CONSTRAINT 外键名 FOREIGN (子表) REFERENCES 父表(父表字段);
2、在更改表结构时创建约束
ALTER TABLE 子表 ADD CONSTRAINT 外键名称 FOREIGN KEY (子表字段)REFERENCES 主表名(主表字段);
3、删除默认约束
ALTER TABLE 表名 DROP FOREIGN KEY 主键名;
在设置外键的时候后面添加 on delete cascade / on update cascade 在删除/更新主表时,级联删除/更新外键列的数据 在设置外键的时候后面添加 on delete set null / on update set null 在删除/更新主表时,外键列的值会变成null