欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MYSQL - 约束

程序员文章站 2022-09-14 14:29:48
约束对表的数据进行限定,保证数据的正确性,有效性,完整性。类别:添加在数据名的后面主键约束primary key,非空且唯一,数据的唯一标识删除:ALTER table t_name DROP PRIMARY KEY;注意,主键删除与非空删除不一样。非空删除用 MODIFY。自增长 AUTO INCREMENT: 自动增长的值只和上一条记录有关系非空约束not null,值不能为空唯一约束unique,值不能重复删除:ALTER table t_name DROP INDEX id;...

约束
对表的数据进行限定,保证数据的正确性,有效性,完整性。
类别:添加在数据名的后面
主键约束
primary key,非空且唯一,数据的唯一标识
删除:ALTER table t_name DROP PRIMARY KEY;
注意,主键删除与非空删除不一样。非空删除用 MODIFY。
自增长 AUTO INCREMENT: 自动增长的值只和上一条记录有关系
非空约束
not null,值不能为空
唯一约束
unique,值不能重复
删除:ALTER table t_name DROP INDEX id;
外键约束
一个主从表关系中,如果从表数据被删除,主表某一列的数据由于关联关系也会受影响。通过添加外键约束,使数据无法轻易在从表中删除。让表与表之间存在关系,保证数据正确性。
格式:外键列, CONSTRAINT 外键名 FOREIGN KEY (外键列名) REFERENCE 主表名(主表列名);
一个例子:
– 一方主表,部门表
CREATE TABLE department (
id INT PRIMARY KEY AUTO INCREMENT,
dep_name VARCHAR(20),
dep_location VARCHAR(20)
);
– 多方从表,员工表
CREATE TABLE employ (
id INT PRIMARY KEY AUTO INCREMENT,
name VARCHAR(20),
age INT,
dep_id INT, – 外键对应主表中的主键,部门编号
CONSTRAINT emp_dep_fk FOREIGN KEY (dep_id) REFERENCE department(id) – 将外键关联,emp_dep_fk 是外键名称
);

– 删除外键
ALTER TABLE employee DROP FOREIGN KEY emp_dep_fk;

– 建表后添加外键
ALTER TABLE employ ADD CONSTRAINT emp_dep_fk FOREIGN KEY (dep_id) REFERENCE department(id);

级联
更改外键 id 时使用级联,可以使主从表关联的外键值联动更新。
添加级联:ON UPDATE CASCADE
ALTER TABLE employ ADD CONSTRAINT emp_dep_fk FOREIGN KEY (dep_id) REFERENCE department(id) ON UPDATE CASCADE;
删除级联:ON DELETE CASCADE

本文地址:https://blog.csdn.net/zeki10/article/details/107054503

上一篇: 安卓10

下一篇: SQL语句-查询