约束
1,不指定名的约束,oracle自动产生,SYS_Cn+6位数字。
2,表创建或修改时创建约束。
3,约束分为表级约束,列级约束
4,约束可以在数据字典中查询
约束有五种:
1,pk
2,fk
3,unique
4,check
5,not null
CREATE TABLE employees(
employee_id NUMBER(6),
last_name VARCHAR2(25) NOT NULL, 列级约束
salary NUMBER(8,2),
commission_pct NUMBER(2,2),
hire_date DATE
CONSTRAINT emp_hire_date_nn NOT NULL,列级约束 由用户命名
...
一般使用表级约束,可读性好。
数据字典查询约束
SELECT constraint_name, column_name FROM user_cons_columns WHERE table_name = '查询的表名(大写)';
CONSTRAINT +约束名称+约束类型+(被约束类)
约束只能增加,删除,不能修改
ALTER TABLE 表名
ADD CONSTRAINT 约束名 约束类型 (约束列)
ALTER TABLE 表名
DROP CONSTRAINT 约束名 约束类型 (约束列)
ALTER TABLE departments
DROP PRIMARY KEY CASCADE;
可以删除主键约束,同时级联删除以这个主键为外键的约束。
注意CASCADE关键字。
还可以关闭约束
ALTER TABLE 表名
DISABLE CONSTRAINT 约束名 CASCADE;级联删除。
ALTER TABLE employees
ENABLE CONSTRAINT emp_emp_id_pk; Table