栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MYSQL入门-约束

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MYSQL入门-约束

MYSQL入门-约束

文章目录
  • MYSQL入门-约束
  • 前言
  • 一、约束是什么?
  • 二、约束分类
  • 三、约束案例
  • 四、外键约束
    • 1.创建、删除外键
    • 2.外键的删除/更新行为
  • 总结


前言

这篇文章是MySQL入门系列中有关数据库约束部分的内容。


一、约束是什么?

概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。
目的:保证数据库中数据的正确性、有效性和完整性。

二、约束分类

三、约束案例

根据下表规定的约束条件创建数据库表

代码如下(示例):

create Table user(
	id int primary key auto_increment,  -- 主键自增
	name varchar(10) not null unique,    -- 非空约束、唯一性约束
	age int check(age>0 and age <=120),  -- 检查约束
	status char(1) DEFAULT '1',       -- 默认约束
	gender char(1)
	) comment '用户表';

下面通过插入数据,检查字段约束条件。

-- 插入数据
insert into user(name,age,status,gender ) VALUES ('Tom',19,'1','男'),('sary',20,'1','女');
//检查非空约束
insert into user(name,age,status,gender ) VALUES (null,19,'1','男');  -- column name cannot be null
//检查唯一约束
insert into user(name,age,status,gender ) VALUES ('Tom',19,'1','男'); -- Duplicate entry 'Tom' for key 'user.name'
//检查检查约束
insert into user(name,age,status,gender ) VALUES ('lzl',-2,'1','男'); -- Check constraint 'user_chk_1' is violated.
//默认约束
insert into user(name,age,gender ) VALUES ('Jerrt',20,'男'); -- status默认值
四、外键约束

外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。

1.创建、删除外键

语法如下

-- 添加外键
CREATE TABLE 表名(
    字段名 数据类型
    ...
    [CONSTRAINT] [外键名称] FOREIGN KEY (外键字段名) REFERENCES 主表(主表列名)
)
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名);
例
ALTER TABLE emp1 add CONSTRAINT fk_emp1_dept_id foreign key (dept_id) references dept(id);
//删除外键
alter table emp1 drop foreign key fk_emp1_dept_id;
2.外键的删除/更新行为


语法如下:

ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名)ON UPDATE CASCADE ON DELETE CASCADE;

具体操作如下:

//添加外键
ALTER TABLE emp1 add CONSTRAINT fk_emp1_dept_id foreign key (dept_id) references dept(id);
//删除外键
alter table emp1 drop foreign key fk_emp1_dept_id;
//添加CASCADE级联条件
ALTER TABLE emp1 add CONSTRAINT fk_emp1_dept_id foreign key (dept_id) references dept(id) ON UPDATE CASCADE ON DELETE CASCADE;
//添加SET NULL级联条件
ALTER TABLE emp1 add CONSTRAINT fk_emp1_dept_id foreign key (dept_id) references dept(id) ON UPDATE set null ON DELETE set null;

总结

以上是对MySQL中约束知识点的总结,希望可以帮助到你!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1005949.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号