MySQL 列级约束和表级约束
作者:互联网
一,六大约束
- NOT NULL 非空
- PRIMARY KEY 主键
- UNIQUE 唯一
- CHECK 检查约束,MySQL 不支持,语法不报错但无效果
- FOREIGN KEY 外键.限制两表关系,通常在从表引入外键约束,引入主表中某列的值,保证从表该字段的值必须来源于主表关联列的值
- DEFAULT 默认值/系统设定值
二,表级约束和列级约束的定义:
-
表级约束:对多个数据列建立的约束,称为表级约束表级约束只能在列定义后声明
-
列级约束:对一个数据列建立的约束,称为列级约束列级约束既可以在列定义时声明,也可以在列定义后声明
三,添加约束的时机:
- 创建表时:
#创建主表,实验外键
CREAT TABLE IF NOT EXISTS major(
id INT,
major_name varchar(20)
);
#创建从表,实验表级/列级约束
CREAT TABLE IF NOT EXISTS students(
#添加表级约束,直接在类型后添加即可
id INT PRIMARY KEY,
student_name VARCHAR(20),
sex CHAR(1),
age INT DEFAULT 18,
majorid INT,
#添加表级约束,直接添加在列创建结束后
CONSTRAINT pk PRIMARY KEY(id).#主键,constraint用来命名,不加也可以
CONSTRAINT fk_student_majory FOREIGN KEY(majorid) REFERENCES major(id)#外键
);
- 修改表时:
#添加非空,其他列级约束可仿照此方法
ALTER TABLE students MODIFY COLUMN student_name VARCHAR(20) NOT NULL;
#添加外键,其他表级约束也可使用同样方法添加 ALTER TABLE students ADD FOREIGN KEY(majorid) REFERENCES major(id) ;标签:列级,外键,约束,添加,KEY,表级 来源: https://www.cnblogs.com/WIFI-365/p/11593416.html