MySQL中联表更新与删除的语法介绍
作者:Juwend''s 发布时间:2024-01-13 11:18:54
标签:mysql,联表,更新
前言
相信大家在日常使用mysql,可能会遇到需要同时更新两张表时,我会采用在同一个事务中使用2句sql语句分别进行更新。其实,这种需要发送2句sql语句的方法效率相对来说是比较低的,有没有只用1句sql语句就可以完成这个操作的呢?
答案是有的,下面将是代码记录:
假设有2张表:
1,user表,字段为:id,user_name
2,user_role表,字段为:id,role_name,user_id
关联关系是 user.id = user_role.user_id
现要更改某一条user表的数据的的user_name字段以及该user对应的user_role表中的数据的role_name字段,那么用下面的sql就可以实现这个目的了:
update user, user_role set
user.user_name = ?, user_role.role_name = ?
where user.id = ? and user.id = user_role.user_id
上面写到联表更新,那么有没有联表删除呢?
答案也是有的,下面将是代码记录:
假设有2张表:
1,user表,字段为:id,user_name
2,user_role表,字段为:id,role_name,user_id
关联关系是 user.id = user_role.user_id
现要删除某一条user表的数据以及该user对应的user_role表中的数据,那么用下面的sql就可以实现这个目的了:
delete u, u_r from user u, user_role u_r
where u.id = ? and u.id = u.user_id
上述sql中,u是user的别名,u_r是user_role的别名,from语句前面要附上别名,这个别名适用于指定删除哪张表数据的,如果只有u或者u_r,那么仅删除对应的那张表上的数据。
来源:https://www.juwends.com/tech/mysql/mysql_join_delete.html


猜你喜欢
- 本文实例讲述了Python连接phoenix的方法。分享给大家供大家参考,具体如下:phoenix是由saleforce.com开源的一个项
- 前言本文旨在用最通俗的语言讲述最枯燥的基本知识这个话题比较有意思。昨天中午吃完饭间突然有个同事蹦出了一句:“like有索引吗?”,我顺口就说
- 一.错误分类1. 语法错误也称为解析错误,发生在传统编程语言的编译时,在JavaScript中发生在解释时,这些错误是由代码中的意外字符直接
- 我们很容易用numpy()和from_numpy()将Tensor和NumPy中的数组相互转换。但是需要注意的一点是: 这两个函数所产生的T
- 1.字符串的字符转换1.1.字符转换的概念在前面说的的字符串替换,是将字符串中的一个子串替换成了新的子串,如果我们想对字符串中的某些字符进行
- 一般情况下,运行tensorflow时,默认会占用可以看见的所有GPU,那么就会导致其它用户或程序无GPU可用,那么就需要限制程序对GPU的
- 有时候我们可能会把CSV中的数据导入到某个数据库的表中,比如做报表分析的时候。对于这个问题,我想一点也难不倒程序人员吧!但是要是SQL Se
- 由于连续的字符(字母、符号、数字)在默认情况下是不换行的,可能会破坏整个界面布局。那如何解决这个问题呢?在 IE 和 Safari 1.3+
- 1. 介绍BoltBoltDB是纯Go语言实现的持久化解决方案,保存数据至内存映射文件。称之为持久化解决方案不是数据库,因为数据库这个词有很
- 据了解绝大多数开发人员对于索引的理解都是一知半解,局限于大多数日常工作没有机会、也什么没有必要去关心、了解索引,实在哪天某个查询太慢了找到查
- 1.安装Pillowpip install Pillow2.安装tesseract-ocrgithub地址: https://gi
- 前言我们已经配置完Django,今天就来学学静态文件与模板的放置使用。模板在上一章节中我们的视图函数test使用了HttpResponse返
- 1.11 – 添加缎带修饰网页局部模块中右上角的蓝色缎带修饰是这个网站界面设计中的一个亮点,只要合理的运用CSS、PNG透明图片和绝对定位属
- python 3.x版本print输出不换行的格式如下:print(x, end="")其中,end=&quo
- python脚本实现xlsx文件解析,供大家参考,具体内容如下环境配置:1.系统环境:Windows 7 64bit 2.编译环境:Pyth
- 切片原型 strs = ‘abcdefg'Strs[start: end:step]切片的三个参数分别表开始,结束,步长第一位下标为
- 由于我们分发的python应用可能运行在64位环境,也可能运行在32位环境,所以我们需要为同一套应用代码配置两套打包环境,怎么配置?步骤如下
- 对于开发使用到数据库的应用,免不了就要使用联合查询,SQL中常用的联合查询有inner join、outer join和cross join
- 本文实例讲述了Python3运算符常见用法。分享给大家供大家参考,具体如下:4.1算数运算符(以下假设变量a为10,变量b为21)实例操作:
- 1.连接本机数据库 A. 本机若有静态IP,oracle安装好后,就能连接本机oracle数据库。 B. 安装oracle时,本机没有静态I