mysql单表更新及多表更新
历经Oracle,MS SQL Server,到现在的MySQL,跨越了3种资料库的学习与研究,现在对于MySQL的表更新,单表字段更新与其他类型的RDBMS资料库⼀样,多表级联更新还是有些区别的,不过研究过后,发现还是蛮简单的。
如果对你有所帮助,请回复⼀下,给个赞!
这⾥,关联的两张表为:tablename1、tablename2,如果需要进⾏关联更新tablename1⾥⾯的字段,方法的重载和重写是一回事
update tablename1 a,tablename2 b
uping,a.size=b.size,a.description=b.description
where a.catalog=b.catalog and a.`schema`=b.`schema` and a.name=b.name
当然多表更新,还有其他的⽅法,具体⽅法说明如下:
⽅法⼀:直接更新,同上⾯⼀样:
UPDATE product p, productPrice pp
process常用搭配SET pp.price = pp.price * 0.8
软件定制开发一站式专业定制WHERE p.productId = pp.productId
AND p.dateCreated < '2014-01-01'vb语言简介
mysql语句多表查询⽅法⼆:使⽤inner Join,然后更新:
UPDATE product p
INNER JOIN productPrice pp
ON p.productId = pp.productId
SET pp.price = pp.price * 0.8
WHERE p.dateCreated < '2014-01-01'
⽅法三:使⽤left join,然后更新:
UPDATE product p
LEFT JOIN productPrice pp
ON p.productId = pp.productId
SET p.deleted = 1
WHERE pp.productId IS null
其实MySQL还可以同时更新两张表的数据的,如下:
UPDATE product p
INNER JOIN productPrice pp
ON p.productId = pp.productId
SET pp.price = pp.price * 0.8,
ssl与ssh的区别p.dateUpdate = CURDATE()
WHERE p.dateCreated < '2014-01-01'
以上学习⼼得介绍到这⾥,如果对你有所帮助,请回复⼀下,给个赞!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论