歷經oracle,ms sql server,到現在的mysql,跨越了3種資料庫的學習與研究,現在對於mysql的表更新,單表字段更新與其他型別的rdbms資料庫一樣,多表級聯更新還是有些區別的,不過研究過後,發現還是蠻簡單的。
update 語句用於中修改資料庫表中的資料。
update 語句用於在資料庫表中修改資料。
update table_name注釋:sql 對大小寫不敏感。update 與 update 等效。set column_name = new_value
where column_name = some_value
這裡,關聯的兩張表為:tablename1、tablename2,如果需要進行關聯更新tablename1裡面的字段,
[html]view plain
copy
update tablename1 a,tablename2 b
[html]view plain
copy
set a.grouping=b.grouping,a.size=b.size,a.description=b.description
where a.catalog=b.catalog and a.`schema`=b.`schema` and a.name=b.name
當然多表更新,還有其他的方法,具體方法說明如下:
方法一:直接更新,同上面一樣:
[sql]view plain
copy
update product p, productprice pp
set pp.price = pp.price * 0.8
where p.productid = pp.productid
and p.datecreated < '2014-01-01'
方法二:使用inner join,然後更新:
[sql]view plain
copy
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,然後更新:
[sql]view plain
copy
update product p
left
join productprice pp
on p.productid = pp.productid
set p.deleted = 1
where pp.productid is
null
其實mysql還可以同時更新兩張表的資料的,如下:
[sql]view plain
copy
update product p
inner
join productprice pp
on p.productid = pp.productid
set pp.price = pp.price * 0.8,
p.dateupdate = curdate()
where p.datecreated < '2014-01-01'
mysql批量更新 多表更新 多表刪除
mysql批量更新 多表更新 多表刪除 本節主要內容 mysql的批量更新 多表更新 多表刪除 一,批量更新 示例 update tepoi,pinf set tepoi.x pinf.fx,tepoi.y pinf.fy where tepoi.pid pinf.dmgis id and tepo...
mySQL之單錶更新
在資料表插入記錄後,如果有欄位更改的需求呢?update low primary ignore table refernece set col name1 col name2 where where condition root localhost test update user set age ...
mysql 多表關聯更新資料
場景 需要根據部門 department 表的city id更新對應user 使用者表 的city id欄位的值,使用者表與部門表的邏輯外來鍵 user表的dept id 至於為什麼這樣做你別管。user 使用者表 department 部門表 enabled 是否已刪除 update user u...