update 高级用法

1、关联多表进去UPDATE

     update命令里对多个数据表里的相关记录做出修改。下面的这条命令将对数据表table1里的一些数据记录的columnA字段做出修改,新数据来自table2.columnB数据列,这两个字段之间的关系通过两个数据表里的同名ID字段tableID建立关系。

Sql代码   收藏代码
  1. update table1,table2  
  2. set table1.columnA = table2.columnB  
  3. where table1.tableID = table2.tableID  

  2、编辑排序清单的数据记录(update .. order by .. limit)

     如果只想对满足某种 排序条件的前N条或后N条数据记录进行修改,可以给update命令加上必要的order by 和 limit 子句。下面这条命令把tablename数据表里的name字段按字母排序后的前10条记录的mydata字段设置为零:

Sql代码   收藏代码
  1. update tablename set mydata = 0 order by name limit 10;  

 

  3、在Update中的set命令里加入子查询(高效的update)

     如果想更新apply表的para3字段,但是这个值来源是来自另一个表apply1,则可以参考以下语句。需要保证括号是的子查询的where子句要保证查询出来的字段值是唯一的一条记录。

Sql代码   收藏代码
  1. update `apply` as cust set cust.para3 =  
  2.  ( select para3_table.para3 from `apply1` as  para3_table   
  3. where cust.old_id = para3_table.id and cust.update_time = para3_table.update_time);  

 

转载于:https://www.cnblogs.com/dsphper/p/4311705.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值