mysql update多个表_mysql update 多表 (复制)
定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price;另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中价格字段的80%。
在Mysql中我们有几种手段可以做到这一点,一种是update table1 t1, table2 ts ...的方式:
复制代码 代码如下:
UPDATE product p, productPrice pp
SET pp.price = pp.price * 0.8
WHERE p.productId = pp.productId
AND p.dateCreated < '2004-01-01'
另外一种方法是使用inner join然后更新:
复制代码 代码如下:
UPDATE product p
INNER JOIN productPrice pp
ON p.productId = pp.productId
SET pp.price = pp.price * 0.8
WHERE p.dateCreated < '2004-01-01'
另外我们也可以使用left outer join来做多表update,比方说如果ProductPrice表中没有产品价格记录的话,将Product表的isDeleted字段置为1,如下sql语句:
复制代码 代码如下:
UPDATE product p
LEFT JOIN productPrice pp
ON p.productId = pp.productId
SET p.deleted = 1
WHERE pp.productId IS null
另外,上面的几个例子都是两张表之间做关联,但是只更新一张表中的记录,其实是可以同时更新两张表的,如下sql:
复制代码 代码如下:
UPDATE product p
INNER JOIN productPrice pp
ON p.productId = pp.productId
SET pp.price = pp.price * 0.8,
p.dateUpdate = CURDATE()
WHERE p.dateCreated < '2004-01-01'
两张表做关联,更新了ProductPrice表的price字段和Product表字段的dateUpdate两个字段。
mysql update多个表_mysql update 多表 (复制)相关推荐
- mysql取消外码约束_MySQL 关闭子表的外键约束检察方法
准备: 定义一个教师表.一个学生表:在学生表中引用教师表ID create table teachers(teacherID int not null auto_increment primary k ...
- mysql pdo 插入没效果_MySQL分库分表后用PHP如何来完美操作
当单表达到几千万时,查询一次要很久,如果有联合查询,有可能会死在那 分库分表主要就是解决这个问题,减小数据库的负担,缩短查询时间分库 1)按功能分 用户类库.商品类库.订单类库.日志类.统计类库... ...
- mysql如何修改学生表_MySQL 详细单表增删改查crud语句
MySQL 增删改查语句 1.创建练习表 这里练习表没有满足三范式 第一范式(又称 1NF):保证每列的原子性 数据表中的每一列(字段),必须是不可拆分的最小单元,也就是确保每一列的原子性.满足第一范 ...
- mysql左连接去重查询_mysql之单表查询、多表查询
mysql查询 单表查询 """ 增: insert [into] [数据库名.]表名[(字段1[,...,字段n])] values (数据1[,...,数据n])[, ...
- mysql重新命名表_MySQL重命名表
在本教程中,您将学习如何使用MySQL RENAME TABLE语句和ALTER TABLE语句重命名表. MySQL RENAME TABLE语句简介 由于业务需求变化,我们需要将当前表重新命名为新 ...
- mysql 默认系统表_MySQL常用系统表大全(转)
用来了解sql语句,触发器,存储过程怎么跑的 全文转自MySQL常用系统表大全 - xlxxcc的专栏 - CSDN博客blog.csdn.net MySQL5.7 默认的模式有:informati ...
- 使用mysql内连接查询年龄_Mysql的连表查询
若一个查询同时涉及到两个以上的表,称为连表查询 准备表 create table department( id int auto_increment PRIMARY KEY, name varchar ...
- mysql drop 几十g的表_MySQL Drop 大表的解决方案
一 引子 在生产环境中,删除一个大文件,比如一个数十 G 或者上百 G 的文件是很耗时的. 本文介绍一个快速 DROP TABLE 的方法.使用本文提供的方法,不管该表数据量.占用空间有多大,都可以快 ...
- mysql存储引擎静态表_MySQL存储引擎(表类型)的选择
一.MySQL存储引擎概述 MySQL与多数数据库不同的是包含存储引擎这一特性,用户可以根据应用的需要选择合适的存储引擎来使存储和索引数据,以及是否使用事务等.MySQL5.0支持的存储引擎包括MyI ...
最新文章
- Failure [INSTALL_FAILED_ALREADY_EXISTS
- 如何配置FastReport.Net环境
- mysql数据压缩加密_MySQL 加密/压缩函数
- 笔试——查找重复数(杭州某准独角兽)
- [APP]- 找回Xcode7的代码折叠功能
- lock是悲观锁还是乐观锁_图文并茂的带你彻底理解悲观锁与乐观锁
- android开发(44) 使用了 SoundPool 播放提示音
- 广州爱立信java笔试题_爱立信笔试经历
- C++实现求解完美数算法
- 如何阅读Java源码?已收藏以备后用
- 系统可靠性分析与设计
- redis 错误 Error reply to PING from master: '-DENIED Redis is running in protected mode because prote
- 80%中国男人不敢主动和女人搭讪
- 计算机408考试题库百度云,2017年计算机408考研真题.pdf
- IOS 代码修改故事版中的自动布局参数
- Ubuntu1804 使用mondorescue 进行系统备份iso制作
- 精灵图案例-拼出自己名字
- Github: fatal: Unsupported SSL backend ‘“openssl”‘. Supported SSL backends: openssl schannel
- (Verilog)单周期CPU设计
- C语言计算正方体表面积
热门文章
- c语言里有js的预编译环节吗,C语言第十一讲,预处理命令.
- 电脑桌面归纳小窗口_电脑一分钟小技巧:如何将电脑设置为定时关机?
- python画烟花的代码_电脑怎么用代码画烟花?
- html伸缩布局,CSS3 伸缩布局(一)
- android menu自定义,Android提高之自定义Menu(TabMenu)实现方法
- 树莓派 摄像头 php,树莓派3 之 USB摄像头安装和使用
- VS Code 主题配置
- Haproxy 管控台介绍
- centos7以普通用户开机启动某个服务或者指定脚本
- idea出现 Error:(1, 16) java: 非法字符: '\u0a0d'