首页 > 其他分享 >20.约束

20.约束

时间:2024-09-09 15:24:43浏览次数:4  
标签:20 删除 age 外键 约束 KEY 主表

分类:

| 约束             | 描述                           | 关键字         |
| -------------- | ---------------------------- | ----------- |
| 非空约束           | 限制该字段的数据不能为null              | NOT NULL    |
| 唯一约束           | 保证该字段的所有数据都是唯一、不重复的          | UNIQUE      |
| 主键约束           | 主键是一行数据的唯一标识,要求非空且唯一         | PRIMARY KEY |
| 默认约束           | 保存数据时,如果未指定该字段的值,则采用默认值      | DEFAULT     |
| 检查约束(8.0.1版本后) | 保证字段值满足某一个条件                 | CHECK       |
| 外键约束           | 用来让两张图的数据之间建立连接,保证数据的一致性和完整性 | FOREIGN KEY |

约束是作用于表中字段上的,可以再创建表/修改表的时候添加约束
例子:

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)
);

常用约束

| 约束条件 | 关键字            |
| ---- | -------------- |
| 主键   | PRIMARY KEY    |
| 自动增长 | AUTO_INCREMENT |
| 不为空  | NOT NULL       |
| 唯一   | UNIQUE         |
| 逻辑条件 | CHECK          |
| 默认值  | DEFAULT        |

例子:

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)
);

外键约束
添加外键:

CREATE TABLE 表名(
	字段名 字段类型,
	...
	[CONSTRAINT] [外键名称] FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名)
);
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名) REFERENCES 主表(主表列名);

-- 例子
alter table emp add constraint fk_emp_dept_id foreign key(dept_id) references dept(id);

删除外键:

ALTER TABLE 表名 DROP FOREIGN KEY 外键名;

删除/更新行为

| 行为          | 说明                                                              |
| ----------- | --------------------------------------------------------------- |
| NO ACTION   | 当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除/更新(与RESTRICT一致)        |
| RESTRICT    | 当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除/更新(与NO ACTION一致)       |
| CASCADE     | 当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则也删除/更新外键在子表中的记录              |
| SET NULL    | 当在父表中删除/更新对应记录时,首先检查该记录是否有对应外键,如果有则设置子表中该外键值为null(要求该外键允许为null) |
| SET DEFAULT | 父表有变更时,子表将外键设为一个默认值(Innodb不支持)                                  |

更改删除/更新行为:

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

标签:20,删除,age,外键,约束,KEY,主表
From: https://www.cnblogs.com/gom-linwei/p/18404648

相关文章

  • 2024年电动扩束镜行业市场研究-聚亿信息咨询
    【出版机构】:聚亿信息咨询 (广东) 有限公司聚亿信息咨询(Market Monitor Global)调研机构最新发布了【电动扩束镜市场调研报告,全球行业规模展望2024-2030】。本市场调研报告为读者提供专业且深入的产品销量、收入、价格、增长率、市场占有规模及竞争对手等数据分析,包含分析过去......
  • :2024年CISP认证考试内容详细介绍
    2024年CISP考试涉及的知识面广泛,包括网络安全、系统安全、应用安全、密码学等多个方面。下面就来详细介绍一下CISP认证的考试内容~1、信息安全技术:这一领域主要包括密码技术、访问控制、审计监控等安全技术机制,以及网络、系统软件和应用等各个层次的基本安全原理和实践......
  • 2024.08.24京东
    1.100的倍数给你一个整数,请你判断0~N之间有多少个数是100的正整数倍。输入描述:输入的第一行给出一个整数N输出描述:输出0~N之间有多少个数是100的整数倍。简单题intmain(){stringst;cin>>st;intn=strlen(st);if(n<=2||st[0]=='-'){cout<<"0";retur......
  • 安装部署tidb中的安装tidb-4000组件失败相关问题(环境为统信20操作系统
    1.安装时发现安装时间很久,停止之后报错,查看日志发现报错如下[2024/09/0914:08:52.509+08:00][FATAL][terror.go:309]["unexpectederror"][error="othererror:[components/tidb_query_datatype/src/expr/ctx.rs:89]:evaluationfailed:unknownorincorrecttimezon......
  • 2024护网行动:HW常见红队使用工具_红队工具
    目录什么是HW?什么是网络安全红蓝对抗?红队常见工具信息收集工具Nmap简介漏洞扫描工具Nessus简介AWVS简介抓包工具Wireshark简介TangGo简介web应用安全工具Burpsuite简介SQLMapwebshell管理工具蚁剑冰蝎后渗透工具CobaltStrikeMeterpreter密码破......
  • 20个销售页面范例及其成功之道
    销售——这是营销人员最渴望的转化。你会在销售页面上实现这一目标。所有你提供的免费电子书、你创建的挤压页面以及你运行的社交媒体活动,都是为了最终达成这一笔交易。如果你成功完成了一次,请为自己鼓掌。你的产品一定很棒,你的营销方式也一定非常出色。你看,让访客下载免费电......
  • 2025超实用的软件EasyRecovery数据恢复工具免费版下载
    ......
  • EasyRecovery2025最新超级好用的电脑数据恢复软件
    亲爱的笔记本小能手们,你们有没有想过,在电脑里辛苦工作了好几个小时的成果,一不小心因为手滑、误操作或是其他原因,突然“噗通”一下不见了?......
  • 软件著作权申请教程(超详细)(2024新版)软著申请
           目录一、注册账号与实名登记二、材料准备三、申请步骤1.办理身份2.软件申请信息3.软件开发信息4.软件功能与特点5.填报完成一、注册账号与实名登记    首先我们需要在官网里面注册一个账号,并且完成实名认证,一般是注册【个人】的身份。中国版......
  • 2025入局自动驾驶的秋招人们,应该瞄准哪些技术方向?
    2025入局自动驾驶的秋招人们,应该瞄准哪些技术方向?2024年已过大半,9月随着开学季的来临,2025届的毕业生也纷纷踏出了秋招的第一步。无论是在学生期间就深耕许久智驾技术、还是从其他赛道转战至智驾,自2023年末一直到今年上半年来,都一直国内智驾行业层出不穷的各种破圈动态刷屏......