MySQL_约束_创建表时添加约束

创建表时添加约束

1 添加列级约束

语法:

直接在字段名和类型后面 追加 约束类型 即可

只支持:默认、非空、主键、唯一

USE students;

CREATE TABLE stuinfo(
    id INT PRIMARY KEY,#主键
    stuNmae VARCHAR(20) NOT NULL,#非空
    gender CHAR(1) CHECK(gender='' OR gender = ''),#检查
    seat INT UNIQUE,#唯一
    age INT DEFAULT 18,#默认约束
    majorId INT REFERENCES major(id)#外键
);

CREATE TABLE major(
    id INT PRIMARY KEY,
    majorName VARCHAR(20)
)   

2 添加表级约束

语法

       在各个字段的最下面

       【Constraint 约束名】 约束类型(字段名)

DROP TABLE IF EXISTS stuinfo;
CREATE TABLE stuinfo(
    id INT,
    stuname VARCHAR(20),
    gender CHAR(1),
    seat INT,
    age INT,
    majorid INT,

    CONSTRAINT pl PRIMARY KEY(id),#主键
    CONSTRAINT uq UNION(seat),#唯一键
    CONSTRAINT ck CHECK(gender = '' OR gender = ''),#检查
    CONSTRAINT fk-stuinfo_major FOREIGN KEY(majorid) REFERENCES major(id)#外键
);
#通用的写法
CREATE TABLE IF EXISTS stuinfo(
    id INT PRIMARY KEY,
    stuname VARCHAR(20) NOT NULL,
    sex CHAR(1),
    seat INT UNIQUE,
    age INT DEFAULT 18,
    majorid INT,
    CONSTRAINT fk-stuinfo_major FOREIGN KEY(majorid) REFERENCES major(id)#外键
)

 

posted @ 2022-11-07 15:44  yzhone  阅读(431)  评论(0)    收藏  举报