当前位置: 首页 > article >正文

MySQL--Day02

约束约束是作用于表中字段上的规则用于限制存储在表中的数据为了保证数据库中数据的正确性、有效性、完整性非空约束 NOT NULL唯一约束 UNIQUE主键约束 PRIMARY KEY默认约束 DEFAULT检查约束 CHECKCREATE TABLE user( id int primary key auto_increment comment主键, name char(10) not null unique comment姓名 ,-- 非空且唯一 age int check(age 0 age 120) comment 年龄, status char(1) default 1 comment状态, gender char(1) comment性别 )comment 用户表外键约束 FOREIGN KEY 子表和父表用来让两张表的数据之间建立联系从而保证数据的一致性和完整性。逻辑外键在员工表中有一列dept_id关联部门表物理外键添加外键的两种方法方法一 CREATE TABLE 表名 字段名 数据类型, ... [CONSTRAINT][外键名称]FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名) 方法二 ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名)删除外键ALTER TABLE 表名 DROP FORIGN KEY 外键名alter table emp drop foreign key 外键名称添加外键时指定更新和删除行为… on update casecade on delete casecade 父表删除或更新时子表对应的数据也会删除或者删除ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段名) REFERENCES 主表名(主表字段名) ON UPDATE CASCADE ON DELETE CASCADE… on update set null on delete set null 父表删除时子表对应的字段的外键值变为nullALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段名)REFERENCES 主表名(主表字段名) ON UPDATE SET NULL ON DELETE SET NULL多表查询多表关系一对多(一个部门对应多个员工)在多的一方建立外键指向一的一方的主键多对多(学生和课程)建立第三张中间表中间表至少包含两个外键分别关联两个主键一对一(用户与用户详情)单表拆分将一张表的基础字段放在一张表中其他详情字段放在另一张表中提升效率在任一方加入外键关联另一方的主键并设置外键唯一一条记录只能记录一个用户信息多表查询笛卡尔积两张表所有的组合情况多表查询SELECT * FROM emp,dept WHERE emp.dept_id dept.id内连接 - -交集隐式内连接SELECT * FROM 表1表2 WHERE 条件显式内连接SELECT * FROM 表1 [INNER] JOIN 表2 ON 连接条件左外连接 — 左表所有的行以及右表匹配的行SELECT * FROM 表1 LEFT JOIN 表2 ON 连接条件右外连接SELECT * FROM 表1 RIGHT JOIN 表2 ON 连接条件自连接 - - 必须起别名对于自连接查询可以是内连接查询也可以是外连接查询SELECT * FROM 表A 别名A 表A别名B WHERE A.id B.mangerId联合查询把多次查询的结果合并起来字段类型和数量必须保持一致union all - -直接合并查询结果SELECT * FROM 表A WHERE ... UNION ALL SELECT * FROM 表B WHERE ...union - -合并后去重SELECT * FROM 表A WHERE ... UNION SELECT * FROM 表B WHERE ...子查询 - -嵌套查询标量子查询(子查询返回的是单个值)SELECT * FROM 表1 WHERE column1 SELECT column1 FROM 表2 WHERE column2* )列子查询(子查询结果返回的是一列)in(在指定集合范围内)SELECT * FROM 表名 WHERE dept_id in (列表)not in(不在指定集合范围内)any some(子查询返回列表中有任意一个满足即可)all(满足所有查询结果)SELECT * FROM 表1 WHERE salary all(列表)行子查询 - -子查询的结果是一行数据SELECT * FROM 表名 WHERE(字段1字段2)(行子查询结果)表子查询(IN) - -子查询的结果是一张表SELECT * FROM 表 WHERE ()in(子查询表)事务事务简介把所有操作作为一个整体一起向系统提交或者撤销操作请求要么同时成功要么同时失败(事务默认自动提交)开启事务start transaction;查看/设置 事务提交方式SELECT autocommitset autocommit 0(手动);提交事务commit;回滚事务rollback;事务特性原子性 不可分割最小单元一致性 事务完成时所有的数据保持一致隔离性 多任务并发运行互不影响持久性 提交或者回滚对数据的改变是永久的并发事务问题脏读 - -一个事务读取到另一个事务还没有提交的数据不可重复读 - - 一个事务先后读取同一条记录但两次读取的数据不同幻读 - - 一个事务在查询数据时显示没有这条数据但是在插入时又显示已经存在事务的隔离级别查看事物的隔离级别SELECT TRANSACTION_ISOLATION;设置事物的隔离级别SET [SESSION |GLOBAL] TRANSACTION LEVEL { 隔离级别 }read uncommitedread commited 脏读可以解决repeatable read(默认) 幻读不能解决serializable 都解决今天学习了约束包括唯一约束(UNIQUE)、非空约束(NOT NULL)、主键约束(PRIMARY KEY)、默认约束(DEFAULT)、检查约束(CHECK)以及外键约束(FOREIGN KEY)其中外键约束的作用是让两张表之间建立联系从而保证数据的一致性和完整性还学习了多表查询两个表之间的连接方式包括内连接、外连接、自连接查询包括联合查询、子查询。最后学习了事务事务是指把所有的操作作为一个整体一起向系统提交或者撤销操作请求要么同时成功要么同时失败操作中间出现异常时可以回滚事务事务的四大特性包括原子性、一致性、隔离性、持久性并发事务问题包括脏读、不可重复读、幻读事务的隔离级别可以解决并发事务问题隔离级别总共有四个系统默认的是Repeatable Read。持续更新~

相关文章:

MySQL--Day02

约束 约束是作用于表中字段上的规则,用于限制存储在表中的数据 为了保证数据库中数据的正确性、有效性、完整性非空约束 NOT NULL唯一约束 UNIQUE主键约束 PRIMARY KEY默认约束 DEFAULT检查约束 CHECK CREATE TABLE user(id int primary key auto_increm…...

LoRA训练助手GPU显存优化:Qwen3-32B INT4量化后仅需9.2GB显存稳定运行

LoRA训练助手GPU显存优化:Qwen3-32B INT4量化后仅需9.2GB显存稳定运行 1. 引言:当大模型遇见显存焦虑 如果你尝试过在个人电脑上运行大语言模型,大概率会遇到一个令人头疼的问题:显存不足。特别是像Qwen3-32B这样拥有320亿参数的…...

Netty ChannelPipeline 线程安全机制的深度解析

Netty ChannelPipeline 线程安全机制的深度解析 摘要 ChannelPipeline 作为 Netty 事件处理管道的核心抽象,其线程安全性的实现是 Netty 高性能、高并发架构的关键基础。Netty 通过精心设计的机制确保了 ChannelPipeline 所有公共方法的线程安全,主要包括…...

VLM | 从视觉语言模型到自动驾驶决策的“慢思考”系统

1. 视觉语言模型(VLM)的本质与突破 当我们谈论自动驾驶时,大多数人首先想到的是激光雷达、摄像头和复杂的算法。但真正让机器"理解"复杂交通场景的,其实是背后那个能看懂图像、读懂文字、还能进行逻辑推理的"大脑&…...

YimMenu:GTA5游戏体验增强工具全攻略

YimMenu:GTA5游戏体验增强工具全攻略 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu 核心痛点…...

韩国AI芯片企4亿融资,挑战英伟达?

3月31日消息,韩国AI芯片初创企业Rebellions完成4亿美元融资,总融资达8.5亿美元,估值约23.4亿美元,正筹备上市。还发布两款产品,欲挑战英伟达。巨额融资与上市筹备近日,Rebellions宣布完成4亿美元融资&#…...

TPCH dbgen数据生成工具在Linux环境下的配置与实战

1. 环境准备:从零搭建TPCH测试环境 第一次接触TPCH dbgen工具时,我花了整整两天时间才搞明白所有依赖关系。这个工具虽然功能强大,但官方文档确实不够友好。下面把我踩过的坑都总结出来,让你能快速上手。 系统要求方面&#xff0c…...

AirPods Pro 3 与 Bose QC Ultra Earbuds 2:无线耳机市场的激烈较量

AirPods Pro 3 与 Bose QC Ultra Earbuds 2:新功能大比拼最新款的 AirPods Pro 3 引入了一系列新功能,提升了音频效果,增强了降噪能力,还具备助听模式、实时翻译、自动切换、空间音频、心率监测等附加功能。而 Bose QuietComfort …...

农业遥感避坑指南:用大疆P4M多光谱数据生成NDVI,选智图还是Metashape?

农业遥感实战:大疆P4M多光谱数据NDVI生成工具选型指南 站在农田边缘,手持大疆精灵4多光谱版(P4M)遥控器的你,刚刚完成了一次作物长势监测飞行。无人机带回的宝贵数据,正等待转化为直观的NDVI图——这张&quo…...

17种智能体(Agent)架构全景解析:演进逻辑、工程价值与落地实践

17种智能体(Agent)架构按“单体→增强→工具→多智能体→操作系统级”的演进路径,分为5大类,核心逻辑是从简单到复杂、从基础到前沿,兼顾工程落地性和理论完整性。以下将对每一种架构模式进行详细拆解,结合…...

在ALV当中上传的excel形式的layout,没法删除怎么办?

明明点了上边的删除键(-)也保存了,下次进入还是存在。OAOR,上传的模板都在里面,点击删除即可...

星露谷物语SMAPI模组加载器:终极安装与使用完全指南

星露谷物语SMAPI模组加载器:终极安装与使用完全指南 【免费下载链接】SMAPI The modding API for Stardew Valley. 项目地址: https://gitcode.com/gh_mirrors/smap/SMAPI 想要为《星露谷物语》安装模组来扩展游戏体验吗?SMAPI模组加载器是官方推…...

电商客服外包怎么选|避坑指南[特殊字符]2026 商家必看

做电商绕不开客服外包,但低价陷阱、转包兼职、大促掉链、响应超时、售后甩锅真的太坑了!今天整理一套不踩雷选型攻略,全是行业干货,新手也能直接抄作业👇 🚫先避坑:这些雷区千万别碰 超低价诱惑…...

零基础入门AI集成:在快马平台编写你的第一个豆包AI对话程序

零基础入门AI集成:在快马平台编写你的第一个豆包AI对话程序 作为一个刚接触AI开发的新手,第一次看到豆包开放平台的API文档时,我完全被各种参数和术语搞晕了。好在发现了InsCode(快马)平台,它让我不用从零开始写代码就能理解整个…...

利用快马平台AI快速构建游戏cc switch功能原型,十分钟实现创意验证

利用快马平台AI快速构建游戏cc switch功能原型 最近在开发一个小型游戏项目时,遇到了一个常见需求:需要快速测试和切换各种游戏功能。比如在调试阶段,可能需要临时开启无敌模式、无限弹药等功能。传统做法是为每个功能单独写调试代码&#x…...

健康管理APP的“专业度悖论“:当8亿用户遇上AI幻觉

——2026年数字医疗市场的信任构建与分化艾瑞咨询2026年数据显示,中国移动医疗用户规模突破8亿,市场规模达1.5万亿元。但另一组数据更值得玩味:用户人均单日使用时长8.1分钟,深夜10点至凌晨2点的咨询量占比23%,而整体付…...

S32K3项目中途想换调试器?手把手教你为已有工程添加Lauterbach调试接口

S32K3项目中途切换调试器:无缝迁移Lauterbach接口的工程实践 在嵌入式开发领域,调试工具的灵活切换往往意味着效率的飞跃。想象这样一个场景:你正在使用NXP S32K3系列MCU开发汽车电子控制单元,项目已进行到中期测试阶段&#xff0…...

从‘翻车’到稳定:手把手教你用Matlab极点配置驯服小车倒立摆(附Simulink模型)

用Matlab极点配置实现小车倒立摆的精准控制:从理论到Simulink实战 倒立摆系统作为控制理论中的经典案例,完美展现了动态系统稳定控制的挑战与魅力。想象一下,一根垂直向上的杆子放在移动小车上,任何微小的扰动都会导致杆子倾倒——…...

用Arduino Uno和纸板DIY一个超静音扫地机器人(附完整代码和接线图)

用Arduino Uno和纸板DIY一个超静音扫地机器人(附完整代码和接线图) 在宿舍或小公寓里,市售扫地机器人的马达噪音常常让人头疼。特别是对于学生和创客群体来说,既需要保持环境整洁,又不希望打扰到室友或邻居的休息。今天…...

Pixel Language Portal保姆级教程:Hunyuan-MT-7B模型蒸馏轻量化(TinyMT)与移动端适配路径

Pixel Language Portal保姆级教程:Hunyuan-MT-7B模型蒸馏轻量化(TinyMT)与移动端适配路径 1. 项目背景与核心价值 Pixel Language Portal(像素语言跨维传送门)是一款基于腾讯Hunyuan-MT-7B大模型构建的创新翻译工具。…...

煤矿智能化验收必备:针对睡岗、离岗识别的AI视觉解决方案

在煤矿智能化建设中,确保井下作业人员的安全与规范操作是重中之重。睡岗、离岗等违规行为不仅影响生产效率,更可能引发严重的安全事故。因此,在煤矿智能化验收环节,一套高效精准的针对睡岗、离岗识别的AI视觉解决方案不可或缺。一…...

LongCat-Video:136亿参数开源AI视频生成模型的技术突破与实践指南

LongCat-Video:136亿参数开源AI视频生成模型的技术突破与实践指南 【免费下载链接】LongCat-Video 项目地址: https://ai.gitcode.com/hf_mirrors/meituan-longcat/LongCat-Video 在人工智能视频生成领域,长视频生成一直是技术挑战的制高点。传统…...

零克云联合创始人占冰强:如何借助OpenClaw为企业AI变革提速!

3月28日,由MoltBank&聚鲸科技、AIGCLink联合主办的“赢在OpenClaw北京站”闭门分享会,在北京成功举行。本次活动聚焦AI Agent落地、AI商业场景落地、AI法律合规边界等关键议题。在演讲环节,零克云联合创始人兼COO占冰强分享了&#xff1a…...

告别玄学调参:手把手教你用STM32F103和MPU9250实现稳定的EKF姿态解算(附源码)

从理论到实战:STM32F103与MPU9250的EKF姿态解算调参全指南 在嵌入式姿态解算领域,扩展卡尔曼滤波(EKF)算法因其优异的噪声抑制能力而广受青睐。然而,许多开发者在STM32F103等资源受限平台上实现MPU9250的EKF姿态解算时…...

2025小红书跳转卡片技术揭秘:从逆向分析到服务器端自动化部署

1. 小红书跳转卡片技术现状解析 小红书跳转卡片功能原本是平台提供给商家的官方营销工具,但近期所有公开接口都已关闭。现在市面上能正常使用的方案,基本都是通过逆向工程实现的Hook技术方案。我花了两个月时间逆向分析了小红书安卓端7.8版本到8.5版本的…...

新手入门指南:在快马平台用万文通思路打造你的第一个文本转换网页

今天想和大家分享一个特别适合编程新手的实践项目——用万文通思路在InsCode(快马)平台快速搭建文本转换网页。这个项目完全不需要复杂的环境配置,打开浏览器就能完成,特别适合想体验完整开发流程的初学者。 项目核心功能设计 这个网页的核心功能非常简单…...

MaxKB:企业级AI知识库部署实战指南

MaxKB:企业级AI知识库部署实战指南 【免费下载链接】MaxKB 🔥 MaxKB is an open-source platform for building enterprise-grade agents. 强大易用的开源企业级智能体平台。 项目地址: https://gitcode.com/GitHub_Trending/ma/MaxKB 面对企业AI…...

AI 模型推理 GPU 调度性能分析

AI模型推理GPU调度性能分析:解锁算力潜能的关键 随着AI技术的快速发展,深度学习模型的推理任务对计算资源的需求急剧增加。GPU因其并行计算能力成为模型推理的核心硬件,但如何高效调度GPU资源以提升性能,成为企业和研究机构关注的…...

GB28181流媒体服务器选型笔记:为什么我们最终选择了ZLMediaKit?聊聊它的协议转换与性能表现

GB28181流媒体服务器选型实战:ZLMediaKit的协议转换与性能突围 在视频监控与安防领域的技术选型中,GB28181协议服务器的选择往往让架构师陷入"性能、兼容性、扩展性"的三角困境。经过三个月的技术验证与压力测试,我们团队最终选择了…...

【Typst源文件】Typst 纸张定义完全指南

Typst 通过 page 函数来定义纸张的尺寸、边距、方向等属性。通常使用 #set page() 规则在文档开头进行全局设置。 1. 基础纸张设置 1.1 使用标准纸张尺寸 Typst 支持丰富的标准纸张尺寸,只需传入纸张名称字符串即可: // 设置为 A4 纸张(默…...