Mysql跨表更新多表updatesql语句总结
mysql 语句 总结 更新 多表 跨表
2023-06-13 09:14:42 时间
假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price;另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中价格字段的80%。
在Mysql中我们有几种手段可以做到这一点,一种是updatetable1t1,table2ts...的方式:
复制代码代码如下:
在Mysql中我们有几种手段可以做到这一点,一种是updatetable1t1,table2ts...的方式:
UPDATEproductp,productPricepp
SETpp.price=pp.price*0.8
WHEREp.productId=pp.productId
ANDp.dateCreated<"2004-01-01"
另外一种方法是使用innerjoin然后更新:
UPDATEproductp
INNERJOINproductPricepp
ONp.productId=pp.productId
SETpp.price=pp.price*0.8
WHEREp.dateCreated<"2004-01-01"
另外我们也可以使用leftouterjoin来做多表update,比方说如果ProductPrice表中没有产品价格记录的话,将Product表的isDeleted字段置为1,如下sql语句:
UPDATEproductp
LEFTJOINproductPricepp
ONp.productId=pp.productId
SETp.deleted=1
WHEREpp.productIdISnull
另外,上面的几个例子都是两张表之间做关联,但是只更新一张表中的记录,其实是可以同时更新两张表的,如下sql:
UPDATEproductp
INNERJOINproductPricepp
ONp.productId=pp.productId
SETpp.price=pp.price*0.8,
p.dateUpdate=CURDATE()
WHEREp.dateCreated<"2004-01-01"
两张表做关联,更新了ProductPrice表的price字段和Product表字段的dateUpdate两个字段。
相关文章
- 整理MySql常用查询语句(23种)
- MySQL数据表设计:轻松提高效率(mysql数据表设计工具)
- MySQL汉化版:免费下载、优质使用体验(mysql汉化版下载)
- MySQL语句优化:提升性能的秘诀(mysql语句调优)
- MySQL 授权语句:步骤指南(mysql授权语句)
- MySQL保存文章——安全可靠的存储方式(mysql保存文章)
- MySQL中的不同语句类型介绍(mysql语句类型)
- MySQL字符串链接技巧与实践(mysql字符串链接)
- 保护数据安全深入探究MySQL密码加密算法(mysql密码加密算法)
- MySQL 语句变量:提升数据操作效率的利器(mysql语句变量)
- MySQL语句监控:强大而轻便的工具(mysql语句监控工具)
- MySQL中的SQL语句倒序排列技巧(mysql中sql倒叙)
- MySQL中的Limit使用方法(mysql中limite)
- 操作C语言中操作MySQL语句的方法(c 中如何mysql语句)
- MySQL实现数据去重去除重复数据的方法详解(mysql中去重语句)
- MySQL创建表示例快速掌握MYSQL基础操作(mysql中创建表的例子)
- MySQL上传语句方便快捷的数据库数据导入方法(mysql上传语句)