在开发的过程中,我们有时候会遇到一些处理数据库数据的需求。
INSERT INTO …SELECT语句
有时候我们需要批量的把某张表中一些符合条件的数据插入到另一张表中。Mysql提供了一个很方便的语句。
Insert into Table2(field1,field2,...) select value1,value2,... from Table1 [where column =value]
select 后面的可以是很复杂的语句,只要你select出来的value与insert的field一一对应就可以了。
UPDATE…SELECT语句的替代品
当我们想要把某张表中符合一些条件的数据批量的更新到另一张表中时,在一些数据库中是提供了和INSERT INTO ...SELECT
语句一样的UPDATE...SELECT
语句来帮我们完成这一功能的,但是比较遗憾的是,Mysql并不支持这样的功能,啊啊啊,为毛其他数据库都支持呀,当时我才查找的时候是非常不开心的,居然不支持。但是没关系,在Mysql中可以使用另外的方式来完成这一功能。
UPDATE USER INNER JOIN (SELECT id,telphone FROM account) c SET user.phone=c.telphone WHERE user.id = c.id