多表查询 事务

MySQL数据库设计概念(多表查询&事务操作) 数据库设计概念以及表与表之间的关系,连接查询和嵌套查询,MySQL数据库事务操作。。。 阅读详情

使用单词:
Inner 内部 [ˈɪnə®] adj.内部的,内心的; 精神的; 秘密的
Join 连接 [dʒɔɪn] vt.& vi.连接; 联结; 加入; 参加;vt.结合; 参与; 上(火车、飞机等); 上(路);n连接; 结合; 接合处; 接合点;
Left 左边 [left] adj.左边的,左侧的; 左派的; 剩下的;n.左,左面; [军]左翼; 左派,激进分子;v.离开( leave的过去式和过去分词);
Right 右边 [raɪt]
Outer 外面的 [ˈaʊtə®] adj. 外面的,外部的; 远离内部(中心)的; [哲]客观外界的,物质的;
. 薪水 [ˈsæləri] n. 薪水,薪金,薪俸;
Grade 等级 [ɡreɪd] n.等级; 职别; 成绩等级; 年级;vt.安排; 依序排列,依等级排列; 评估; 评分;vi.属于…等级; 缓缓地变化或发展;
Start 开始 [stɑːt] n.开始; 动身; 开动; 起点;vt.& vi.出发,启程;vt.起动; 提出(问题); 开办; 使开始; 启动;vi.起始; 突然出现; 突然跳起; 突然涌出;
Transaction 事务 [trænˈzækʃn] n.交易,业务,事务; 办理,处理; (一笔)交易,(一项)事务; (学会等的)会议记录,学报;
Rollback 回滚 [ˈrəʊlbæk] n. 反转,压价;
Commit 提交 [kəˈmɪt] vt. 犯罪,做错事; 把…托付给; 保证(做某事、遵守协议或遵从安排等); 承诺,使…承担义务;

多表查询_概述

1)建表语句表详见资料
2)笛卡尔积 A x B 结果集是两张表的所有组合
笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X×Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员 [3] 。
假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。

多表查询_内连接
  1. 隐式内连接:使用where条件消除无用数据
    * 例子:
    – 查询所有员工信息和对应的部门信息
    SELECT * FROM emp,dept WHERE emp.dept_id = dept.id;
    – 查询员工表的名称,性别。部门表的名称
    SELECT emp.name,emp.gender,dept.name FROM emp,dept WHERE emp.dept_id = dept.id;
    SELECT
    t1.name, – 员工表的姓名
    t1.gender,-- 员工表的性别
    t2.name – 部门表的名称
    FROM
    emp t1,
    dept t2
    WHERE
    t1.dept_id = t2.id;
    1. 显式内连接:
      * 语法: select 字段列表 from 表名1 [inner] join 表名2 on 条件
      * 例如:
      * SELECT * FROM emp INNER JOIN dept ON emp.dept_id = dept.id;
      * SELECT * FROM emp JOIN dept ON emp.dept_id = dept.id;
多表查询_外连接
  1. 左外连接:
  • 语法:select 字段列表 from 表1 left [outer] join 表2 on 条件;
  • 查询的是左表所有数据以及其交集部分。
  • 例子:
    – 查询所有员工信息,如果员工有部门,则查询部门名称,没有部门,则不显示部门名称
    SELECT t1.*,t2.name FROM emp t1 LEFT JOIN dept t2 ON t1.dept_id = t2.id;
  1. 右外连接:
  • 语法:select 字段列表 from 表1 right [outer] join 表2 on 条件;
  • 查询的是右表所有数据以及其交集部分。
  • 例子:
    SELECT * FROM dept t2 RIGHT JOIN emp t1 ON t1.dept_id = t2.id;
多表查询_子查询概述
  • 概念:查询中嵌套查询,称嵌套查询为子查询。
    – 查询工资最高的员工信息
    – 1 查询最高的工资是多少 9000
    SELECT MAX(salary) FROM emp;
    – 2 查询员工信息,并且工资等于9000的
    SELECT * FROM emp WHERE emp.salary = 9000;
    – 一条sql就完成这个操作。子查询
    SELECT * FROM emp WHERE emp.salary = (SELECT MAX(salary) FROM emp);
    情景一:
  1. 子查询的结果是单行单列的:
  • 子查询可以作为条件,使用运算符去判断。 运算符: > >= < <= =
    – 查询员工工资小于平均工资的人
    SELECT * FROM emp WHERE emp.salary < (SELECT AVG(salary) FROM emp);
    情景二
  1. 子查询的结果是多行单列的:
  • 子查询可以作为条件,使用运算符in来判断
    – 查询’财务部’和’市场部’所有的员工信息
    SELECT id FROM dept WHERE NAME = ‘财务部’ OR NAME = ‘市场部’;
    SELECT * FROM emp WHERE dept_id = 3 OR dept_id = 2;
    – 子查询
    SELECT * FROM emp WHERE dept_id IN (SELECT id FROM dept WHERE NAME = ‘财务部’ OR NAME = ‘市场部’);
    情景三
  1. 子查询的结果是多行多列的:
  • 子查询可以作为一张虚拟表参与查询
    – 查询员工入职日期是2011-11-11日之后的员工信息和部门信息
    – 子查询
    SELECT * FROM dept t1 ,(SELECT * FROM emp WHERE emp.join_date > ‘2011-11-11’) t2
    WHERE t1.id = t2.dept_id;
_事务_基本演示
  1. 概念:
    * 如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。
  2. 操作:
    1. 开启事务: start transaction;trancastion roolback commit
    2. 回滚:rollback;
    3. 提交:commit;
  3. MySQL数据库中事务默认自动提交
  • 事务提交的两种方式:
  • 自动提交:
    • mysql就是自动提交的
    • 一条DML(增删改)语句会自动提交一次事务。
  • 手动提交:
    • Oracle 数据库默认是手动提交事务
    • 需要先开启事务,再提交
  • 修改事务的默认提交方式:
    • 查看事务的默认提交方式:SELECT @@autocommit; – 1 代表自动提交 0 代表手动提交
    • 修改默认提交方式: set @@autocommit = 0;
事务四大特征
  1. 原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败。
    1. 持久性:当事务提交或回滚后,数据库会持久化的保存数据。
    2. 隔离性:多个事务之间。相互独立。
    3. 一致性:事务操作前后,数据总量不变(与预期一致).
事务隔离级别介绍

概念:多个事务之间隔离的,相互独立的。但是如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别就可以解决这些问题。
* 存在问题:
1. 脏读:一个事务,读取到另一个事务中没有提交的数据
2. 不可重复读(虚读):在同一个事务中,两次读取到的数据不一样。
3. 幻读:一个事务操作(DML)数据表中所有记录,另一个事务添加了一条数据,则第一个事务查询不到自己的修改。(mysql体现不到)
* 隔离级别:
1. read uncommitted:读未提交
* 产生的问题:脏读、不可重复读、幻读
2. read committed:读已提交 (Oracle)
* 产生的问题:不可重复读、幻读
3. repeatable read:可重复读 (MySQL默认)
* 产生的问题:幻读
4. serializable:串行化
* 可以解决所有的问题

	* 注意:隔离级别从小到大安全性越来越高,但是效率越来越低
	* 数据库查询隔离级别:
		* select @@tx_isolation;
	* 数据库设置隔离级别:
		* set global transaction isolation level  级别字符串;
长安车机破解后能干啥?分享我的UNI-K车机安装第三方应用与优化体验实录 本文详细记录了长安UNI-K车机破解后的实用玩法与深度优化指南,包括安装第三方应用、导航体验升级、影音系统改造及系统美化等。通过工具箱和升级技巧,车主可以大幅提升用车体验,解锁更多隐藏功能。 阅读详情

相关推荐

ATE自动化测试设备:硬件与软件的完美协同

本文深入解析了ATE自动化测试设备如何通过硬件与软件的完美协同,实现高效、精准的电子产品测试。文章详细阐述了ATE系统的硬件架构(如测试控制器、仪器模块、开关矩阵)与软件层次(如测试管理、仪器控制、数据分析),并结合实战案例,揭示了软硬件协同设计在提升测试效率与可靠性中的关键作用。

weixin_29218509的博客 168

java 多张表事务处理_Java中的多表&事务&DCL&一个多表操作例子

准备sql:创建部门表CREATE TABLE dept(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(20));INSERT INTO dept (NAME) VALUES ('开发部'),('市场部'),('财务部');# 创建员工表CREATE TABLE emp (id INT PRIMARY KEY AUTO_INCREMENT,NAME ...

weixin_42459078的博客 1687

告别校准烦恼:用ADS1220和松下ERA3电阻实现±0.05℃精度的Pt100测温方案(附完整电路图)

本文详细介绍了如何利用TI的ADS1220 24位ΔΣ ADC与松下ERA3系列精密电阻构建±0.05℃精度的免校准Pt100测温系统。通过比例测量法架构和关键器件选型,解决了传统方案中的校准繁琐和长期稳定性问题,特别适用于工业控制、医疗设备等高精度温度测量场景。

weixin_30740581的博客 613

04-MySQL-基础-多表查询&事务

删除之前 emp, dept表的测试数据执行如下脚本,创建emp表与dept表并插入测试数据-- 创建部门表name varchar(50) not null comment '部门名称') comment '部门表';-- 创建员工表name varchar(50) not null comment '姓名',age int comment '年龄',job varchar(20) comment '职位',salary int comment '薪资',

cygqtt的博客 224

跟着团子学SAP CO:揭秘结果分析码在项目结算中的实战应用(一)KKA2/CJ88

本文深入解析了SAP CO模块中结果分析码在项目结算中的核心作用。以KKA2(方法10)和事务代码CJ88为例,详细阐述了如何在项目完工后一次性确认收入的场景下,通过结果分析功能实现收入与成本的精准匹配,将项目成本暂估为在制品,确保各期利润的准确反映。

gamma的博客 687

感应加热电源设计避坑指南:半桥LC串联谐振的5个关键问题

本文深入解析半桥LC串联谐振在感应加热电源设计中的5个关键问题,包括均压电阻选型、功率管驱动时序、谐振频率补偿等实战经验。通过真实故障案例和解决方案,帮助工程师避开常见设计陷阱,提升电路稳定性和效率,特别适合从事桥感应加热电源开发的工程师参考。

weixin_27013291的博客 510

JavaWeb——008MySQL(多表查询&事务&索引)

建议:创建新的数据库use db04;-- 部门表id int unsigned primary key auto_increment comment '主键ID',name varchar(10) not null unique comment '部门名称',create_time datetime not null comment '创建时间',update_time datetime not null comment '修改时间') comment '部门表';-- 部门表测试。

pangyaqi的博客 1127

低成本实现webhook接收端[python]

Webook本质上也是API,只不过是反向调用,即前端不主动发送请求,完全由后端推送。简单来说,Webhook是一个接受HTTP POST或是GET,PUT,DELETE的URL,一个实现了Webhook的API提供商就是在当事件发生的时候会向配置的URL发送信息,与请求-响应式不同,使用Webhook可以实时接收到变化。Ps:Webhook可能会发出大量的请求,确保接受的URL不被泄露或者应用能及时处理这些请求。

锡城小凯的博客 1万+

MySQL多表&事务笔记

多表查询事务DCL。

weixin_43201090的博客 117

【72】【OpenCV C++ & C#】 将cv::Mat 图像转换成imgINFO 传给c#在winform上显示,OpenCV C++如何将处理后的图像传给C#呢? 如何获取图像信息呢?

本文介绍了通过OpenCV C++处理图像后传递给C#的方法。首先定义了一个结构体imgINFO存储图像信息(数据指针、宽高、通道数等),然后通过getImgInfo函数将cv::Mat转换为该结构体。文章特别指出当图像宽度不能被4整除时可能出现失真问题,并给出了两种解决方案:调整输入图像或创建新的对齐图像。此外还解释了img.step和img.cols*img.elemSize()的关系,说明它们在大多数情况下是相等的。最后提到需要通过DLL将结构体传递给C#(具体方法参见其他文章)。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 697

基于分数阶的图像边缘细节检测——边缘计算

在图像处理中,我们可以使用分数阶导数运算器来计算图像的分数阶梯度,从而得到更精确的边缘信息。通过使用基于分数阶的图像边缘细节检测方法,我们可以更准确地捕捉图像中的边缘细节信息。在这篇文章中,我们将介绍一种基于分数阶的方法来进行图像边缘细节检测,并提供相应的源代码实现。需要注意的是,以上提供的代码示例仅用于演示基于分数阶的图像边缘细节检测方法的实现。然后,我们读取了待处理的图像,并进行了预处理,如高斯模糊,以减少噪声的影响。最后,我们通过设置一个阈值,将梯度图像转化为二值化的边缘图像,并将结果显示出来。

GudcSql的博客 404

MySQL 多表查询、事务

事务是一组操作的集合,这组操作必须全部成功或者全部失败。比如银行转账的步骤:A账户扣钱,B账户加钱 这两步操作必须全部成功或者失败,不能单独某一步成功或失败。

2201_75347713的博客 993

风控域——决策引擎系统设计

本文详细介绍了风控决策引擎系统的设计与应用。决策引擎系统是一种智能化工具,可自动化、数据驱动地辅助或替代人工决策,广泛应用于金融、医疗、营销、风控等领域。文章阐述了决策引擎的核心功能,包括自动化决策、动态规则管理、实时处理和模型集成,以及系统组成,涵盖数据输入层、规则引擎和模型服务层。此外,还探讨了决策引擎的典型应用场景、技术架构、组件设计,以及风控决策引擎系统的技术方案、设计难点和重点。

庄小焱 3321

MySQL多表查询和事务

MySQL多表查询和事务项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种:CREATE TABLE student_course ( id INT AUTO_INCREMENT COMMENT '主键' PRIMARY KEY, studentid INT NOT NULL COMMENT '学生ID', courseid INT NOT NULL COMMENT '课程ID

weixin_49668551的博客 1392

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

MySQL多表查询与事务

MySQL多表查询,内连接,外连接,子查询,MySQL事务问题

qwelllll的博客 1666

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

MySQL--多表查询和事务

概述:指从多张表中查询数据笛卡尔积:笛卡尔乘积是指在数学中,两个集合 A 集合 和 B 集合的所有组合情况。(在多表查询时,需要消除无效的笛卡尔积)多表查询分类连接查询内连接:相当于查询 A、B 交集部分数据外连接:左外连接:查询左表所有数据,以及两张表交集部分数据右外连接:查询右表所有数据,以及两张表交集部分数据自连接:当前表与自身的连接查询,自连接必须使用表别名子查询。

PluMage11的博客 1090

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

MySQL基础——多表查询和事务

同上的操作,将A将事务的隔离级别设置为read committed,然后在B中进行修改,但是不提交,发现A事务中不会出现赃读情况。select a.name '员工', b.name '领导' from emp a left join emp b on a.managerid = b.id;这一组操作就必须在一个事务的范围内,要么都成功,要么都失败。select a.name '员工', b.name '领导' from emp a , emp b where a.managerid = b.id;

qq_47966193的博客 1554

MySQL的多表查询与事务

关于MySQL的多表查询和事务的笔记

上山的月的博客 1034

MySQL 多表查询与事务知识总结

数据库多表关系与查询是数据库设计的核心内容。多表关系分为一对多、多对多和一对一三种,通过外键或中间表实现关联。多表查询需要消除笛卡尔积无效数据,主要采用连接查询(内连接、外连接、自连接)和子查询(标量、列、行、表子查询)两种方式。事务管理通过ACID特性保证数据一致性,包含原子性、一致性、隔离性和持久性。并发事务可能产生脏读、不可重复读和幻读问题,可通过设置不同隔离级别(读未提交、读已提交、可重复读、串行化)来解决。

2302_80003889的博客 1306

MySQL多表关系、多表查询、事务

多表关系、多表查询、事务

weixin_69658159的博客 886

事务与多表查询

多表查询 1、创建部门表 create table dept( id int PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); inser into dept(name)values('开发部'),('市场部'),('财务部'); 2、创建员工表 create table emp ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10), gender CHAR(1), -- 性别

大哥的阔落 557

MySQL基础篇(3)—多表查询、事务

概述:指从多张表中查询数据笛卡尔积:笛卡尔乘积是指在数学中,两个集合A集合 和 B集合的所有组合情况。(在多表查询时,需要消除无效的笛卡尔积)多表查询分类。

weixin_61843013的博客 1900

MySQL 多表查询 事务 索引

多表查询 简介 内连接查询 join on 外连接查询 left join、right join 子连接查询 标量子查询 列子查询 (in、not in) 行子查询 表子查询 合并子查询 UNION 力扣1789案例 多表查询案例 事务 事务介绍 操作 start transaction、commit、rollback 事务四大特性(面试题) 索引 索引介绍 索引原理 索引语法 index

weixin_43739821的博客 500

mysql 事务多表_MySQL—事务、多表查询

1. 事务控制语言(Transaction Control Language,TCL)事务是访问并可能更新数据库中各种数据项的一个程序执行单元(unit),在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。事务应该具有4个属性:原子性(atomicity)、一致性(consistency )、隔离性(isolation)、持续性(durabbility),这4个属性通常称为A...

weixin_36005427的博客 581

MySQL数据库基础——多表查询、事务

各个表结构之间存在的联系分为三种:一对多、多对多、一对一。

weixin_63461613的博客 1034
上一篇: DQL 约束
下一篇: DCL JDBC基础创建
ClassGoldenSea
博客等级 码龄7年 2粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值