更新数据(update)
语法格式
Update 表名 set 列名=值,列名=值 where 条件;
MySQL的update的特点
1.更新的表不能在set和where中用于子查询;否则会报错 You can’t specify target table ‘emp3’ for update in FROM clause
2.Update后面可以做任意的查询;
例
一、更新 emp3 表中的 id 为 1 的数据,添加 address 为 BeiJing。
Update emp3 e set e.address = “BeiJing” where emp_id = 1;
二、更新 emp3 中 id 为 2 的数据,将地址修改为与 id 为 1 用户的地址相同;
1.在Oracle中
Update emp3 e set address = (select address from emp3 where emp_id = 1) where e.emp_id = 2;
2.在mysql中
方法一
Update emp3 e , (select address from emp3 where emp_id = 1) t1 set e.address = t1.address where e.emp_id = 2;
方法二
Update emp3 e set e.address = (select t1.address from (select emp_id , address from emp3) t1 where t1.emp_id = 1) where e.emp_id = 2;