您的位置:首页 > 数据库 > Oracle

Oracle之约束的创建与管理

2017-08-02 14:50 225 查看
五大约束:非空,唯一,主键,外键,检查

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,

    CONSTAINT 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),

    CONSTRANT  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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐