mysql常见约束分类,列级约束,表级约束

常见约束

用于限制表中的数据,为了保证表中的数据的准确性和可靠性

分类

  • not null :非空,保证该字段不能为空,比如姓名,学号
  • default:默认,用于保证该字段有默认值,比如性别
  • primary key:主键,用于保证该字段的值具有唯一性,比如学号,员工编号
  • unique:唯一,用于保证该字段的值具有唯一性,可以为空
    例如座位号
  • check:检查约束【mysql不支持,但不报错】
  • foreign key:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值。
    例如学生表的专业编号、员工表的部门编号、员工表的工种编号
    在从表添加外键约束,用于引用主表中的某列的值

查看表的索引:主键、外键、唯一

show index from 表名;

添加表的时机

  1. 创建表时
  2. 修改表时

约束的添加分类

  1. 列级约束:六大约束语法上都支持,但外键约束无效果

CREATE TABLE 表名(
字段名 字段类型 列级约束,

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

  1. 表级约束:除了非空、默认

CREATE TABLE 表名(
字段名 字段类型 ,
constraint 约束名 约束类型(字段名)
);

约束名:自定义

CREATE TABLE stuinfo(
id INT,
stuname VARCHAR(20),
gender CHAR(1),
seat INT,
age INT,
marjorid INT,
CONSTRAINT pk PRIMARY KEY(id),
CONSTRAINT uq UNIQUE(seat),
CONSTRAINT ck CHECK(gender=‘男’ OR gender=‘女’),
CONSTRAINT fk_stuinfo_major FOREIGN KEY(majorid) REFERENCES major(id),
);

  1. 通用

CREATE TABLE stuinfo(
id INT PRIMARY KEY,
stuname VARCHAR(20) NOT NULL,
seat INT UNIQUE,
age INT DEFAULT 18, #默认18岁
marjorid INT,
CONSTRAINT fk_stuinfo_major FOREIGN KEY(majorid) REFERENCES major(id)
);

“祝你前程似锦在冬深在初春在夏至在秋末”
小徐加油!
——2021.2.10

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值