MySQL 從一張表update字段到另外一張表中
先來幾個(gè)簡單的示例
Solution 1: 1列
update student s, city c set s.city_name = c.name where s.city_code = c.code;
Solution 2: 多個(gè)列
update a, b set a.title=b.title, a.name=b.name where a.id=b.id
Solution 3: 子查詢
update student s set city_name = (select name from city where code = s.city_code);
我們再來看幾個(gè)負(fù)責(zé)寫的
例如: 把表 tk_zyt_scenery_order的 字段更新到 t_advs_order中去, 一般可能會(huì)這樣寫:
UPDATE t_advs_order SET attribute1=(SELECT o.order_state FROM tk_zyt_scenery_order o WHERE o.order_id=`on`), attribute2=(SELECT o.order_state FROM tk_zyt_scenery_order o WHERE o.order_id=`on`) WHERE EXISTS (SELECT o.order_state FROM tk_zyt_scenery_order o WHERE o.order_id=`on`);
這樣效率比較低下, 優(yōu)化寫法:
UPDATE t_advs_order a INNER JOIN tk_zyt_scenery_order s ON s.order_id=a.`on` SET a.attribute1=s.order_id, a.attribute2=s.order_id;
相關(guān)文章
mysql實(shí)現(xiàn)將字符串轉(zhuǎn)化成int類型
這篇文章主要介紹了mysql實(shí)現(xiàn)將字符串轉(zhuǎn)化成int類型方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08mysql創(chuàng)建數(shù)據(jù)庫,添加用戶,用戶授權(quán)實(shí)操方法
在本篇文章里小編給大家整理的是關(guān)于mysql創(chuàng)建數(shù)據(jù)庫,添加用戶,用戶授權(quán)實(shí)操方法相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。2019-10-10Linux連接mysql報(bào)錯(cuò):Access denied for user ‘root’@‘localhost’(usi
這篇文章主要給大家介紹了關(guān)于Linux連接mysql數(shù)據(jù)庫報(bào)錯(cuò):Access denied for user ’root‘@’localhost‘(using password: YES)的解決方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01