MySQL基础之约束

news/2024/10/7 8:52:15/

MySQL基础之约束

概述

  • 概念:约束是作用在字段的规则,限制表中数据

在这里插入图片描述

演示

在这里插入图片描述

mysql"># 多个约束之间不需要加逗号
# auto_increment 自增
create table user(id int primary key auto_increment comment '主键',name varchar(10) not null unique comment '姓名',age int check( age > 0 && age <= 120 ) comment '年龄',status char(1) default '1' comment '状态',gender char(1) comment '性别'
) comment '用户表';

外键约束

  • 概念:让两张表的数据建立连接

在这里插入图片描述

mysql"># 创建表时添加外键
create table 表名(字段名 数据类型,...[constraint] [外键名称] foreign key(外键字段名) references 主表(主表列名)
)
# 创建表后添加外键
alter table 表名 add constraint 外键名称 foreign key(外键字段名) references 主表(主表列名);
# 删除外键
alter table 表名 drop foreign key 外键名称;
mysql"># 示例
# 把dept表中主键id 与cmp表中dept_id连接 建立外键fk_cmp_id_dept
alter table cmp add CONSTRAINT fk_cmp_id_dept FOREIGN key (dept_id) REFERENCES dept(id);
# 把fk_cmp_id_dept外键删除
alter table cmp drop foreign key fk_cmp_id_dept;

删除/更新行为

在这里插入图片描述

  • 添加外键时在末尾加上即可
mysql"># 在更新或删除主表中的数据时会级联副表中数据
alter table cmp add CONSTRAINT fk_cmp_id_dept FOREIGN key (dept_id) REFERENCES dept(id) on update cascade on delete cascade; # 在删除主表中的数据时会使副表中数据置null
alter table cmp add CONSTRAINT fk_cmp_id_dept FOREIGN key (dept_id) REFERENCES dept(id) on delete set null; 

http://www.ppmy.cn/news/1535642.html

相关文章

利用 Python 爬虫采集 1688商品详情

1688是中国的一个大型B2B电子商务平台&#xff0c;主要用于批发和采购各种商品。对于需要从1688上获取商品详情数据、工程数据或店铺数据的用户来说&#xff0c;可以采用以下几种常见的方法&#xff1a; 官方API接口&#xff1a;如果1688提供了官方的API接口&#xff0c;那么可…

master节点k8s部署]33.ceph分布式存储(四)

总结ceph分布式存储&#xff08;三&#xff09;中提到的三种方法&#xff1a; 1.创建rbda&#xff0c;并且在创建pv的时候配置该rbda,以下代码仅展示关键信息。 [rootxianchaomaster1 ~]# cat pv.yaml apiVersion: v1 kind: PersistentVolume metadata: name: ceph-pv ...…

常见的基础系统

权限管理系统支付系统搜索系统报表系统API网关系统待定。。。 Java 优质开源系统设计项目 来源&#xff1a;Java 优质开源系统设计项目 | JavaGuide 备注&#xff1a;github和gitee上可以搜索到相关项目

Junit和枚举ENUM

断言机制&#xff0c;JAVA中的断言机制是一种用于检查程序中某个条件是否为真的机制。它可以在程序运行时检查某个条件是否满足&#xff0c;如果不满足则会抛出AssertionError异常。 在java中,断言机制默认是关闭的。所以会输出u。 断言机制只是为了用来吃调试程序的&#xff0…

第八章 中间件:SpringBoot 集成 Redis

学习目标 8.1 Redis简介8.1.1 数据类型8.1.2 关键优势 8.2 Redis 基本使用8.2.1 Windows安装8.2.2 配置8.2.3 启动8.2.4 连接8.2.5基本操作 8.3 Jedis操作Redis8.3.1 常用方法API8.3.2 基本操作8.3.3 连接池 8.4 SpringBoot操作Redis8.4.1 sping-boot-starter-data-redis8.4.2 …

Python(四)——元组

文章目录 元组创建元组修改元组、拼接元组访问元组查找元组切片操作元组方法与列表的比较 元组 元组&#xff08;tuple&#xff09;是一种有序且不可更改的集合&#xff0c;元组中允许存在重复的成员。 Python 的元组与列表类似&#xff0c;不同之处在于元组的元素不能修改。…

ROS/Gazebo/Nav2/MoveIt Pro/RMF学习笔记24-10-06

ROS ROS&#xff08;Robot Operating System&#xff09;系统&#xff0c;尽管严格意义上来说并非一个操作系统&#xff0c;而是一个专为机器人软件开发的开源软件框架集合&#xff0c;它在机器人技术领域中扮演着至关重要的角色。ROS系统的新应用和特性主要体现在以下几个方面…

【网路通信基础与实践番外二】TCP协议的流量控制和拥塞控制以及二者区别和例题

TCP协议是端对端的协议&#xff0c;因此在数据进行传输的过程受发送方&#xff0c;数据通道&#xff0c;接收方三方状态的影响。我们用水龙头来比喻数据发送方&#xff0c;水管来比喻数据通道&#xff0c;水桶来表示数据接收方。 图(a)表示水桶太小&#xff0c;来不及接受注入…