mysql中insert與select的嵌套使用方法
本文講述了mysql中insert與select的嵌套使用的方法,對(duì)于初學(xué)MySQL的朋友有一定的借鑒價(jià)值。
這里需要實(shí)現(xiàn)在mysql從多個(gè)表中組合字段然后插入到一個(gè)新表中,通過(guò)一條sql語(yǔ)句實(shí)現(xiàn)該功能需求。具體情形是:有三張表a、b、c,現(xiàn)在需要從表b和表c中分別查幾個(gè)字段的值插入到表a中對(duì)應(yīng)的字段。對(duì)于這種情況,我們可以使用如下的語(yǔ)句來(lái)實(shí)現(xiàn):
INSERT INTO db1_name(field1,field2) SELECT field1,field2 FROM db2_name
當(dāng)然,上面的語(yǔ)句比較適合兩個(gè)表的數(shù)據(jù)互插,如果多個(gè)表就不適應(yīng)了。對(duì)于多個(gè)表,我們可以先將需要查詢的字段join起來(lái),然后組成一個(gè)視圖后再select from就可以了,sql代碼如下所示:
INSERT INTO a(field1,field2) SELECT * FROM(SELECT f1,f2 FROM b JOIN c) AS tb
其中f1是表b的字段,f2是表c的字段,通過(guò)join查詢就將分別來(lái)自表b和表c的字段進(jìn)行了組合,然后再通過(guò)select嵌套查詢插入到表a中,這樣就滿足了我們這個(gè)場(chǎng)景了,如果需要不止2個(gè)表,那么可以多個(gè)join的形式來(lái)組合字段。需要注意的是嵌套查詢部分最后一定要有設(shè)置表別名,如下:
SELECT * FROM(SELECT f1,f2 FROM b JOIN c) AS tb
即最后的as tb是必須的(當(dāng)然tb這個(gè)名稱可以隨意取),即指定一個(gè)別名,否則在mysql中會(huì)報(bào)如下錯(cuò)誤:
ERROR 1248 (42000): Every derived TABLE must have its own alias
即每個(gè)派生出來(lái)的新表都必須指定別名才可以的。
- mysql insert語(yǔ)句操作實(shí)例講解
- PHP+MySQL之Insert Into數(shù)據(jù)插入用法分析
- MySql中使用INSERT INTO語(yǔ)句更新多條數(shù)據(jù)的例子
- mysql insert if not exists防止插入重復(fù)記錄的方法
- 正確使用MySQL INSERT INTO語(yǔ)句
- 解析MySQL中INSERT INTO SELECT的使用
- 詳解MySQL數(shù)據(jù)庫(kù)insert和update語(yǔ)句
- Mysql使用insert插入多條記錄 批量新增數(shù)據(jù)
- MySQL實(shí)戰(zhàn)之Insert語(yǔ)句的使用心得
相關(guān)文章
Mysql查詢數(shù)據(jù)庫(kù)或數(shù)據(jù)表中的數(shù)據(jù)量以及數(shù)據(jù)大小
許多數(shù)據(jù)庫(kù)的元數(shù)據(jù)都是存儲(chǔ)在mysql中的,本文主要介紹了Mysql查詢數(shù)據(jù)庫(kù)或數(shù)據(jù)表中的數(shù)據(jù)量以及數(shù)據(jù)大小,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-02-02
mysql創(chuàng)建表設(shè)置表主鍵id從1開始自增的解決方案
在MySQL中用很多類型的自增ID,每個(gè)自增ID都設(shè)置了初始值,一般情況下初始值都是從0開始,然后按照一定的步長(zhǎng)增加(一般是自增 1),下面這篇文章主要給大家介紹了關(guān)于mysql創(chuàng)建表設(shè)置表主鍵id從1開始自增的解決方案,需要的朋友可以參考下2023-04-04
Mysql實(shí)現(xiàn)null值排在最前/最后的方法示例
這篇文章主要給大家介紹了關(guān)于Mysql實(shí)現(xiàn)null值排在最前/最后的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02
MySQL降權(quán)運(yùn)行之MySQL以Guests帳戶啟動(dòng)設(shè)置方法
我們?cè)趙indows服務(wù)器中使用mysql數(shù)據(jù)的時(shí)候,mysql默認(rèn)都是以system權(quán)限運(yùn)行,如果出現(xiàn)了安全問(wèn)題,黑客就可以通過(guò)mysql提權(quán)新建用戶什么的,所以mysql低權(quán)限運(yùn)行非常必要2014-07-07
redis服務(wù)器環(huán)境下mysql實(shí)現(xiàn)lnmp架構(gòu)緩存
這篇文章主要介紹了redis系統(tǒng)環(huán)境下mysql實(shí)現(xiàn)lnmp架構(gòu)緩存,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07

