一、非空约束(NOT NULL)
1.在创建表时设置非空约束
CREATE TABLE table_name(
column_name datatype NOT NULL,…);
2.在修改表时添加非空约束
ALTER TABLE table_name
MODIFY column_name datatype NOT NULL;
3.在修改表时去除非空约束
ALTER TABLE table_name
MODIFY column_name datatype NULL;
二、主键约束(PRIMARY KEY)
1.在创建表时设置主键约束
CREATE TABLE table_name(
Column_name datatype PRIMARY KEY,);
2.联合主键
CONSTRAINT constraint_name
PRIMARY KEY(column_name1);
3.在修改表时添加主键约束
ADD CONSTRAINT constraint_name
PRIMARY KEY(column_name1,);
4.更改约束的名称
RENAME CONSTRAINT old_name
TO new_name;
5.将字段的主键约束进行禁用;
DISABLE|ENABLE CONSTRAINT constraint_name;
6.删除主键约束
DROP CONSTAINT constraint_name;
DROP PRIMARY KEY[CASCADE];
三、外键约束(REFERENCES)
1.在创建表时添加外键约束(上)
CREATE TABLE table1
(column_name datatype REFERENCES
table2(column_name,…);
2.在创建表时设置外键约束(下)
CONSTRAINT(关键字) constraint_name(外键约束的名字) FOREIGN
KEY(关键字)(column_name)REFERENCES
Table_name(column_name)[ON DELETE CASCADE]
3.在修改表时添加外键约束
ADD CONSTRAINT constraint_name FOREIGN
KEY(column_name)REFERENCES
Table_name(column_name)[ON DELETE CASCADE]
四、唯一约束(UNIQUE)
1.在创建表时设置唯一约束
- 列级创建
CREATE TABLE table_name
(column_name datatype UNIQUE,…)
- 表级创建
CONSTRAINT constraint_name
UNIQUE(column_name)
2.在修改表时添加唯一约束
ADD CONATRAINT constraint_name
UNIQUE(column_name)
3.删除唯一约束
- 暂时的禁用唯一约束
DISABLE|ENABLE CONSTRAINT constraint_name
- 删除唯一约束
DROP CONSTRAINT constraint_name
五、检查约束(CHECK)
1.在创建表时设置检查约束
- 列级设置
CREATE TABLE table_name
(column_name datatype CHECK(expressions),…)
- 在表级设置检查约束
CONSTRAINT constraint_name
CHECK(expressions)
2.在修改表示添加检查约束
ADD CONSTRAINT constraint_name
CHECK(expressions)
3.删除检查约束
- 禁用检查约束
DISABLE|ENABLE CONSTRAINT constraint_name
- 删除检查约束
DROP CONSTRAINT constraint_name
六、约束总结
- 非空约束:每张表只能有一个,可以由多个字段组成
- 主键约束:涉及两个表之间的关系
1.在创建表时设置约束,既可以设置列级也可以设置表级
- 只有非空约束,没有名字,并且只能在列级设置,并不能在表级设置。
2.在修改表时添加约束
- 只有非空约束不同,代码如下:
ALTER TABLE table_name
MODIFY column_name datatype NOT NULL;
3.更改约束的名称(非空约束没名字)
RENAME CONSTRAINT old_name TO new_name
注意:数据字典(user_constraints)可以从这查名字
4.删除约束
- 非空约束特殊
ALTER TABLE table_name
MODIFY column_name datatype NULL;
- 其余约束
DISABLE|ENABLE CONSTRAINT constraint_name 禁用|启用
DROP CONSTRAINT constraint_name
DROP PRIMARY KEY(删除主键约束)