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 @   yzhone  阅读(419)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 我与微信审核的“相爱相杀”看个人小程序副业
· DeepSeek “源神”启动!「GitHub 热点速览」
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示