場景1:表b:id,name,code三個欄位均有值;表a :id,name,code 其中id,name有值並且與表b相對應,code值為null。現在將b表中的code值更新到a表中。
方法1:id不能有重複:
方法2:適合少量資料update t_a a set a.code=
(select code from t_b b where b.id=a.id )
場景2:表b:id,name,code,detail四個欄位均有值;表a id,name,code,detail其中id,name有值並且與表b相對應,code,detail值為null。現在將b表中的code和detail值更新到a表中。update t_a a inner
join
(select code from t_b ) b set a.code=b.code;
方法1:
方法2:update t_a a set
a.code=
(select code from t_b b where b.id=a.id )
, a.detail=
(select detail from t_b b where b.id=a.id )
;
場景3:將表b中資料全部更新到a中,存在即更新code欄位,不存在便插入新記錄update t_a a inner
join
(select code, detail from t_b ) b set a.code=b.code, a.detail=b.detail;
方法1:
存在即更新關鍵字:on duplicate key updateinsert
into t_a (id, name, code)
select id, name, code from t_b on
duplicate
keyupdate code=
values
(code);
SQLSERVER中 多表鏈結的UPDATE 方法
錯誤方式 update 歷史庫存 inner join 平均單價 on 歷史庫存.產品編號 平均單價.產品編號 set 歷史庫存.期末金額 round 平均單價.領用平均單價 歷史庫存.期末數量,0 正確方式 update 歷史庫存 set 歷史庫存.期末金額 round 平均單價.領用平均單價 歷...
清除mysql表中資料
delete from表名 truncate table表名 不帶where 引數的delete 語句可以刪除 mysql 表中所有內容,使用 truncate table 也可以清空 mysql 表中所有內容。效率上truncate 比delete 快,但truncate 刪除後不記錄 mysql...
清除mysql表中資料
delete from表名 truncate table表名 不帶where 引數的delete 語句可以刪除 mysql 表中所有內容,使用 truncate table 也可以清空 mysql 表中所有內容。效率上truncate 比delete 快,但truncate 刪除後不記錄 mysql...