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两个字段。

来源于:http://blog.csdn.net/yukaizhao/article/details/8280257

转载于:https://www.cnblogs.com/dingyingsi/p/5872097.html

mysql 多表 update sql语句总结相关推荐

  1. linux update语句,MySQL 多表 update sql语句总结

    MySQL 多表 update 有几种不同的写法. 假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price:另外一张表是ProductPrice表,我们要将ProductP ...

  2. mysql创建用户表的sql语句,mysql创建表的sql语句

    mysql 动态sql语句,如何用一款小工具大大加速MySQL SQL语句优化(附源,mysql分页查询sql语句,mysql创建表的sql语句 mysql建表语句_计算机软件及应用_IT/计算机_专 ...

  3. mysql修改表结构sql语句

    修改表结构sql语句 虽然说图形界面可以方便修改,但是要从开发环境中同步到生产环境上就得用到sql语句,同步表结构一个个去点显然不合理 #修改表名 alter table old_name renam ...

  4. mysql基本表管理sql语句

    管理表记录 insert into 表名 values(字段值列表) 增 select 字段名 -字段N from 表名: 查 select 字段名.. 字段N from表名 where 条件 upd ...

  5. mysql多表查询sql语句怎么写_MySQL基本SQL语句之单表查询、多表查询和子查询

    一.简单查询: 基本语法: SELECT * FROM tb_name;查询全部 SELECT field1,field2 FROM tb_name; 投影 SELECT [DISTINCT] * F ...

  6. MySQL查看表结构SQL语句

    mysql查看表结构命令,如下: desc 表名; show columns from 表名; describe 表名; show create table 表名; use information_s ...

  7. mysql连表的sql语句_sql语句之连表操作

    内连接 select * from employee inner join department on employee.dep_id = department.id 左连接 在内连接的基础上保留左表 ...

  8. mysql sql 多表更新语句_MySQL跨表、多表更新SQL语句总结

    Mysql跨表.多表更新SQL语句总结 MySQL可以在一个SQL语句中更新多张表的记录,也可以通过多个表之间的关联关系更新某个表的数据. 假定目前有两张表goods和goods_price表,前者是 ...

  9. Bootstrap4+MySQL前后端综合实训-Day08-AM【多表查询sql语句、关联数据的假删除、自动增长主键的获取、栏目管理“数据编辑”按钮的实现】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目   录 多表查询sql语句 关联数据的假删除(status状态码/数据可恢 ...

最新文章

  1. SpringCloud 微服务架构,适合接私活(附源码)
  2. PL/SQL Developer中,存储过程无法调试的问题解决办法
  3. CSS实现导航条Tab切换的三种方法
  4. python的sorted函数对字典按key排序和按value排序
  5. how is native onClick event passed to application handler
  6. Java 和 Python 解析动态 key 的 JSON 数据
  7. JVM——详解类加载过程
  8. php 面试靠快速排序,搞定PHP面试 - 常见排序算法及PHP实现
  9. 写了8年的代码,做过的项目都下线了,程序员的意义在哪里!
  10. 手把手教你搭建 vue 环境
  11. Android开发网络连接超时
  12. Redo Log的逻辑与物理结构
  13. Linux 内核 链表 的简单模拟(1)
  14. ocp mysql考试介绍_Oracle OCP OCM 和 Mysql OCP考试详情介绍
  15. 信息安全——密码学(下)
  16. 微软拼音开启小鹤双拼
  17. threejs特效:扫光shader
  18. 如何使用MATLAB绘制ggplot风格图片(散点图及折线图)
  19. 键盘输入正六边形边长,输出对应的正六边形
  20. [GYM101173K] CERC 16 K.Key Knocking 构造

热门文章

  1. Python《wallpaper abyss壁纸》
  2. 漫步数学分析一——实数轴
  3. Matlab--获取300dpi或600dpi图形插入word2010中
  4. 罗德里格斯(Rodrigues)旋转方程推导
  5. Opencv--学习Opencv比较好的网址
  6. Bundle Adjustment简述(转载)
  7. 子集和数问题——回溯法(C++)
  8. 开源监控Prometheus二进制安装
  9. wpsa3版面怎么变成a4、排版不变_毕业论文排版攻略
  10. 查看pcl版本 linux,Ubuntu16上安装PCL