亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解析MySQL中INSERT INTO SELECT的使用

 更新時(shí)間:2013年07月02日 12:04:01   作者:  
本篇文章是對(duì)MySQL中INSERT INTO SELECT的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下

1. 語法介紹
有三張表a、b、c,現(xiàn)在需要從表b和表c中分別查幾個(gè)字段的值插入到表a中對(duì)應(yīng)的字段。對(duì)于這種情況,可以使用如下的語句來實(shí)現(xiàn):
INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name
 
上面的語句比較適合兩個(gè)表的數(shù)據(jù)互插,如果多個(gè)表就不適應(yīng)了。對(duì)于多個(gè)表,可以先將需要查詢的字段JOIN起來,然后組成一個(gè)視圖后再SELECT FROM就可以了:

INSERT INTO a (field1,field2) SELECT * FROM(SELECT b.f1,c.f2 FROM b JOIN c) AS tb

其中f1是表b的字段,f2是表c的字段,通過JOIN查詢就將分別來自表b和表c的字段進(jìn)行了組合,然后再通過SELECT嵌套查詢插入到表a中,這樣就滿足了這個(gè)場景了,如果需要不止2個(gè)表,那么可以多個(gè)JOIN的形式來組合字段。

2. 語法錯(cuò)誤注意
需要注意的是嵌套查詢部分最后一定要有設(shè)置表別名,如下:

SELECT * FROM (SELECT f1,f2 FROM b JOIN c) AS tb

即最后的AS tb是必須的(tb這個(gè)名稱可以隨意?。?,即指定一個(gè)別名。每個(gè)派生出來的新表都必須指定別名,否則在mysql中會(huì)報(bào)如下錯(cuò)誤:

ERROR 1248 (42000): Every derived TABLE must have its own alias
 
另外,MySQL中INSERT INTO SELECT不能加VALUES,即不能寫成如下形式:

INSERT INTO db1_name(field1,field2) VALUES SELECT field1,field2 FROM db2_name
 
否則也會(huì)報(bào)錯(cuò):You have an error in your SQL syntax

相關(guān)文章

  • mysql odbc字符集設(shè)置(中文顯示亂碼)

    mysql odbc字符集設(shè)置(中文顯示亂碼)

    mysql odbc字符集設(shè)置(中文顯示亂碼),碰到這個(gè)問題的朋友可以參考下。
    2011-08-08
  • mysql 5.7.18 免安裝版window配置方法

    mysql 5.7.18 免安裝版window配置方法

    這篇文章主要為大家詳細(xì)介紹了mysql 5.7.18 免安裝版window配置方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • MySQL服務(wù)器默認(rèn)安裝之后調(diào)節(jié)性能的方法

    MySQL服務(wù)器默認(rèn)安裝之后調(diào)節(jié)性能的方法

    在面試MySQL DBA或者那些打算做MySQL性能優(yōu)化的人時(shí),我最喜歡問題是:MySQL服務(wù)器按照默認(rèn)設(shè)置安裝完之后,應(yīng)該做哪些方面的調(diào)節(jié)呢?
    2011-05-05
  • MySQL與PHP的基礎(chǔ)與應(yīng)用專題之創(chuàng)建數(shù)據(jù)庫表

    MySQL與PHP的基礎(chǔ)與應(yīng)用專題之創(chuàng)建數(shù)據(jù)庫表

    MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),屬于 Oracle 旗下產(chǎn)品。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,本系列將帶你掌握php與mysql的基礎(chǔ)應(yīng)用,本篇從數(shù)據(jù)庫的創(chuàng)建開始
    2022-02-02
  • Mysql中索引和約束的示例語句

    Mysql中索引和約束的示例語句

    這篇文章主要介紹了Mysql中索引和約束的相關(guān)資料,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2021-01-01
  • mysql錯(cuò)誤代碼之1064的解決方案

    mysql錯(cuò)誤代碼之1064的解決方案

    這篇文章主要介紹了mysql錯(cuò)誤代碼之1064的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • MySQL DEFINER具體使用詳解

    MySQL DEFINER具體使用詳解

    在 MySQL 數(shù)據(jù)庫中,在創(chuàng)建視圖及函數(shù)的時(shí)候,你有注意過 definer 選項(xiàng)嗎?本篇文章主要介紹下 MySQL 中 definer 的含義及作用,感興趣的可以了解一下
    2021-08-08
  • MySQL問答系列之如何避免ibdata1文件大小暴漲

    MySQL問答系列之如何避免ibdata1文件大小暴漲

    MySql innodb如果是共享表空間,ibdata1文件會(huì)越來越大,所以下面這篇文章主要給大家介紹了關(guān)于MySQL問答系列之如何避免ibdata1文件大小暴漲的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-09-09
  • mysql中InnoDB事務(wù)隔離的記錄鎖、間隙鎖和臨鍵鎖

    mysql中InnoDB事務(wù)隔離的記錄鎖、間隙鎖和臨鍵鎖

    mysql中InnoDB默認(rèn)的事務(wù)隔離級(jí)別為可重復(fù)讀(Repeated Read, RR),我們當(dāng)下的所有介紹都是基于這個(gè)隔離級(jí)別為前提的,記錄鎖鎖定索引關(guān)聯(lián)的具體記錄,間隙鎖鎖定間隔,防止間隔中被其他事務(wù)插入,臨鍵鎖鎖定索引記錄+間隔,防止幻讀
    2023-12-12
  • mysql遇到load data導(dǎo)入文件數(shù)據(jù)出現(xiàn)1290錯(cuò)誤的解決方案

    mysql遇到load data導(dǎo)入文件數(shù)據(jù)出現(xiàn)1290錯(cuò)誤的解決方案

    這篇文章主要介紹了mysql遇到load data導(dǎo)入文件數(shù)據(jù)出現(xiàn)1290錯(cuò)誤的解決方案,非常的簡單實(shí)用,有需要的小伙伴可以參考下
    2018-07-07

最新評(píng)論