Oracle数据库------------约束的创建与管理(修改约束)

关于Oracle数据库的学习记录:

四十一、约束的创建与管理(修改约束)
约束在以后开发之中一定要记住:建立数据表的时候一定要同时建立好约束,约束在使用之中不要做任何的变化
前提:如果要想控制约束,那么必须要有约束的名称

范例:现在假设有如下的数据表
DROP TABLE member PURGE;
DROP TABLE book PURGE;
CREATE TABLE member(
    mid       NUMBER,
    name      VARCHAR2(20)
);
INSERT INTO member(mid,name) VALUES(10,null);
INSERT INTO member(mid,name) VALUES(10,'张三');
INSERT INTO member(mid,name) VALUES(10,'李四');
现在的代码之中mid有重复数据,姓名上存在有空的内容

1.为表中增加约束,语法:
ALTER TABLE 表名称 ADD CONSTRAINT 约束名称 约束类型(字段)[选项];

范例:为member表增加主键约束
ALTER TABLE member ADD CONSTRAINT pk_mid PRIMARY KEY(mid);
如果里面的数据本身就存在有错误内容,那么是无法进行约束的增加的
DELETE FROM member WHERE name IN('张三','李四');
ALTER TABLE member ADD CONSTRAINT pk_mid PRIMARY KEY(mid);
对于五种约束而言,以上的语法适用于检查、唯一、主键、外键四类约束,但是不能够使用在非空约束上
如果真的要为表中的字段增加非空约束,只有一种方式,使用修改表结构的操作完成
ALTER TABLE member MODIFY(name VARCHAR2(20) NOT NULL);

2.为表删除约束,语法:
ALTER TABLE 表名称 DROP CONSTRAINT 约束名称;

范例:删除约束
ALTER TABLE member DROP CONSTRAINT pk_mid;  
ALTER TABLE member DROP CONSTRAINT SYS_C0011097;
虽然以上语法较多,但是对于约束的修改绝对不要去使用

总结:
1.在所有项目开发之中一定要使用到约束
2.所有的约束在定义表的时候要一起定义,一定要设置约束名称
3.五种约束里面一定会使用到的:主键、外键、非空

猜你喜欢

转载自blog.csdn.net/amuist_ting/article/details/80766121