五大约束:非空,唯一,主键,外键,检查
1.非空约束(NOT NULL)
CREATE TABLE club(
mid NUMBER,
name VARCHAR(20) NOT NULL
);
DROP TABLE club PURGE;
2.唯一约束(UNIQUE,UK):列不允许有重复值
CREATE TABLE club(
mid NUMBER,
name VARCHAR(20) NOT NULL,
email VARCHAR(20) UNIQUE
);
DROP TABLE club PURGE;
3.主键约束(PRIMARY KEY,PK)
主键约束=非空约束+唯一约束
CREATE TABLE club(
mid NUMBER PRIMARY KEY ,
name VARCHAR(20) NOT NULL,
email VARCHAR(20) UNIQUE
);
或者这样
CREATE TABLE club(
mid NUMBER ,
name VARCHAR(20) NOT NULL,
email VARCHAR(20) UNIQUE,
CONSTRAINT pk_mid PRIMARY KEY(mid)
);
DROP TABLE club PURGE;
4.检查约束(CHECK,CK)
CREATE TABLE club(
mid NUMBER PRIMARY KEY ,
name VARCHAR(20) NOT NULL,
email VARCHAR(20) UNIQUE,
AGE NUMBER CHECK(AGE>0 and AGE <150)
);
DROP TABLE club PURGE;
5.外键约束(FOREIGN KEY,FK)
CREATE TABLE club(
mid NUMBER PRIMARY KEY ,
name VARCHAR(20) NOT NULL,
email VARCHAR(20) UNIQUE,
AGE NUMBER CHECK(AGE>0 and AGE <150)
);
CREATE TABLE member(
mid NUMBER REFERENCES club(mid),
mname VARCHAR(20)
);
或者这样
CREATE TABLE member(
mid NUMBER,
mname VARCHAR(20),
CONSTRAINT fk_mid FOREIGE KEY(mid) REFERENCES club(mid)
);
DROP TABLE member;
DROP TABLE club;
PURGE RECYCLEBIN;
6.修改约束(约束谨慎使用,建表时候就确定)
CREATE TABLE club(
mid NUMBER ,
name VARCHAR(20) ,
email VARCHAR(20),
AGE NUMBER
);
增加约束:ALTER TABLE 表名称 ADD CONSTRANT 约束名称 FOREIGE KEY(列名)
注意:不可以添加非空约束(NOT NULL),如果要添加非空约束,只能够依靠修改表结构的方法来完成。
删除约束:ALTER TABLE 表名称 DROP CONSTRANT 约束名称。
总结:1、表和约束一起创建;
2、约束主要用PRIMARY KEY、FOREIGN KEY、CHECK