MySQL基础操作全攻略:增删改查实用指南(上)
1. 数据库约束
1.2 NULL约束
1.3 UNIQUE:唯一约束
1.4 DEFAULT:默认值约束
1.5 PRIMARY KEY:主键约束(要求:非空,唯一)
但是数据库允许把多个列共同作为一个主键(联合主键)
主键需要分配一个唯一的值,如何进行分配呢?
mysql 提供了一个 自动分配 主键值 方式,“自增主键”auto_increment

插入数据时,可以不指定id列的值,让数据库自动分配.,就会按照1,2,3,4 ......

也能手动指定其他数值.
在mysql中,给每个表都记录了一个“自增主键的最大值”
后续继续插入数据,无论之前的最大值是否仍然存在
都是根据之前保存的最大值,继续往后分配的.
自增主键只能针对,像int/bigint整数使用
是有可能会使用字符串作为主键的.
部分情况下,都是用数字作为主键.
1.6 FOREIGN KEY:外键约束
案例:
此时,外键约束就出现了
再次往student 中插入数据,就务必要确保
插入的数据的classes_ld的值,得在classes表中存在.
学生表的 classld 列,引用自 班级表的classld 列
班级表中的 数据,约束了/制约了学生表的数据
制约 被制约的一方
父表 子表
如果父表中的某个记录,被子表引用了,此时就不能删除/修改父表中的 对应记录了.
父表是约束了子表,
子表也会对父表反向进行约束.
主键本身也是有“唯一性要求的”
频繁触发查询,此处数据库就会对主键约束,给出特殊的处理.
加快查询四度
数据库会针对 主键 列创建索引
如果不指定主键,是一个unique,也能达成类似的效果
1.7 CHECK约束(了解)
2. 表的设计
2.1 一对一
设计表的做法:
a)搞一个表,同时包含学生和账号的信息.
student account (studentld, name, accountName, password ..... )
b)搞两个表,使用id来进行联系.
student(studentld, name , accountld)
account(accountld, accountName, password)
student(studentld, name )
account(accountld, accountName, password , studentld)
2.2 一对多
一个账号只能属于一个学生
可以使用同一张表,也可以使用两张表(通过一个id,联系)
b)一对多关系
一个学生只能属于一个班级
一个班级可以包含多个学生
这个方案在MySQL中是不可行的.但是在有的数据库中(Redis是可行的)
学生表(学生id,学生姓名 ... ,班级 id)
1 张三 100
2 李四 101
3 王五 100
班级表(班级id,班级名称)
100 java100
101 java101
班级表(班级id,班级名称,学生id列表)
100 java100 1,3
101 java101 2相当于“数组”类型
mysql不支持这样的类型
2.3 多对多
引入关联表,通过关联表把多对多关系表示出来
学生-课程表(学生id,课程id)
1 100 张三选择了语文
1 101 张三选择了数学
1 102 张三选择了英语
2 100 李四选择了语文
2 101 王五选择了教学

如果您觉得有失偏颇请您在评论区指正,如果您觉得不错的话留个好评再走吧!!
您的鼓励就是对我最大的支持! ! !
相关文章:
MySQL基础操作全攻略:增删改查实用指南(上)
本节目标: NOT NULL - 指示某列不能存储 NULL 值。 UNIQUE - 保证某列的每行必须有唯一的值。 DEFAULT - 规定没有给列赋值时的默认值。 PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标 识&am…...
SAP MM学习笔记 - 豆知识02 - MR21 修改物料原价,MM02 修改基本数量单位/评价Class,MMAM 修改物料类型/评价Class
上一章讲了一些豆知识。比如 - MM50 批量扩张品目 - XK05/06 Block/消除供应商 - MM06/MM16 品目消除 - SE11/SE16/SE16/SE16N/SE16H/DB02 等查看常用的操作Table和数据的T-code SAP MM学习笔记- 豆知识01 - MM50 批量扩张,XK05/XK06 Block/消除供应商…...
谷粒商城实战笔记-126-全文检索-ElasticSearch-整合-测试保存
文章目录 一,谷粒商城实战笔记-126-全文检索-ElasticSearch-整合-测试保存1,在Elasticsearch的配置类中增加通用设置2,索引数据3,验证 一,谷粒商城实战笔记-126-全文检索-ElasticSearch-整合-测试保存 1,在…...
flutter开发环境搭建与android studio 安装配置
flutter开发环境搭建与android studio 安装配置 安装 android studio 下载安装 Android Studio 开发工具 Android Studio官网安装的时看到配置路径就换成自己其他盘的路径即可,其他的一路下一步就ok安装完毕,运行打开缺少 android sdk 按照提示下载即可…...
postgresql 字符串 替换
postgresql 字符串 替换 在PostgreSQL中,可以使用replace()函数来替换字符串中的某个部分。该函数的语法如下: REPLACE(string text, from text, to text) 其中: string 是要进行替换操作的原始字符串。 from 是原始字符串中需要被替换掉的…...
如何强化学习神经网络
强化学习(Reinforcement Learning, RL)神经网络是一种通过奖励和惩罚机制来学习策略的方法,适用于各种复杂的决策问题。以下是强化学习神经网络的一些主要步骤和方法: 1. 了解基本概念 环境(Environment)…...
Hadoop未授权访问漏洞
Hadoop未授权访问漏洞 Hadoop是一个由Apache基金会所开发的分布式系统基础架构,由于服务器直接在开放了Hadoop机器HDFS的50070web端口及部分默认服务端口,黑客可以通过命令行操作多个目录下的数据,如进行删除,下载,目…...
Python中json模块的编码和解码
在Python中,可以用json模块处理JSON的编码和解码问题。json的全程是 javascript object notation, 翻译一下就是javascritpt 对象表示法。json是一种轻量级的数据交换格式,容易阅读和编写,支持的数据类型有:字符串、数字、数组和对…...
【Linux】文件变身大作战:Linux下的文件重命名艺术
欢迎来到 CILMY23 的博客 🏆本篇主题为:文件变身大作战:Linux下的文件重命名艺术 🏆个人主页:CILMY23-CSDN博客 🏆系列专栏:Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算法…...
字节的存储和字符的存储
字节的存储 内存中的存储 基本数据类型: 在Java中,byte 类型占用 1 个字节(8 位)。它的取值范围是从 -128 到 127。存储在内存中的 byte 数据可以直接操作,例如通过数组或变量访问。 数据结构: byte 数组…...
Markdown插入Base64格式的图片,无需图床,稳定保存
Markdown插入Base64格式的图片,无需图床,稳定保存 我是一个Markdown的爱好者,转存图片是MD经常出问题的地方,因为MD不像其他富文本编辑器,将图片内嵌到文件中,而是用链接的形式引用,或网络链接…...
weblogic 连接gaussdb测试数据源是否联通
文章目录 1. gaussdb创建远程连接用户和数据库2. weblogic构建GaussDB源数据库3. 测试结果查询注意 weblogic中jar包已经放入lib目录中gaussdb已经创建可以连接登录的用户和数据库1. gaussdb创建远程连接用户和数据库 新建用户和数据库连接客户端Gauss=# create user lily pas…...
如何成为全域运营商?掌握这2种申请方式就够了!
随着全域概念的兴起,全域运营商的职业前景和收益空间逐渐显现,并迅速成为了热门创业赛道中的一份子,连带着如何成为全域运营商等入局方式相关话题也成为了众多创业者热议的焦点。 不过,从市场现状来看,作为涵盖公域和私…...
@ConfigurationProperties加在方法上
ConfigurationProperties注解通常用于将外部配置文件(如application.properties或application.yml)中的属性映射到Java类中。它通常加在类上,但也可以加在方法上。加在方法上时,通常与Bean注解一起使用,以便将配置属性…...
使用CUBEMX配置的USB大容量存储设备主机库获取LUN数量的不严谨代码纠正
最近在使用usb主机库驱动U盘直接进行扇区读写。 发现MSC库中获取LUN相关代码有问题 代码如下 其中 status USBH_MSC_BOT_REQ_GetMaxLUN(phost, (uint8_t *)(void *)&MSC_Handle->max_lun); MSC_Handle->max_lun (MSC_Handle->max_lun > MAX_SUPPORTED_L…...
合并重叠的区间
这一题不能用差分数组,因为 [1 , 4] [5, 6] 这个就会被合并,正确的做法就是先排序 bool cmp(vector<int> a, vector<int> b) {if (a[0] < b[0]) return 1;if (a[0] b[0]) return a[1] < b[1];return 0; } class Solution { public:ve…...
docker和运维
创建服务 docker service create --name order --network my-net -p 8080:8080 -d xxx 加入swarm集群 docker swarm join --token xxx 更新结点名字为mysql docker node update --label-add servermysql ecs-82ec-0003 创建MySQL服务 docker service create --name mysql --con…...
苍穹外面day13(day10)---订单状态定时处理、来单提醒和客户催单
Spring Task 同学们可以看我这篇文章 Spring Task初学-CSDN博客 订单状态定时处理 新建OrderTask /*** 定时任务类,定时处理订单状态*/ Component Slf4j public class OrderTask {Autowiredprivate OrderMapper orderMapper;/*** 处理超时订单的方法*/Scheduled(c…...
RCE和php文件上传
一、远程命令执行(RCE) RCE漏洞概述 RCE漏洞允许攻击者通过某种方式在目标服务器上执行任意命令。这种漏洞通常出现在服务器端语言中,如PHP。 RCE漏洞原理 PHP中的一些函数可以执行命令或代码,但如果对这些函数的输入未加限制&a…...
nextjs 实现TodoList网页应用案例
参考: https://nextjs.org/ Next.js 是用于网络的一种 React 框架。一些世界上最大的公司在使用它,它能够借助 React 组件的力量让您创建高质量的网络应用程序。 1、创建项目: 另外注意:pages与app路由存在冲突,如果有…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...
从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
热烈祝贺埃文科技正式加入可信数据空间发展联盟
2025年4月29日,在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上,可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞,强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...

