欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解析MySQL中INSERT INTO SELECT的使用

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

1. 語法介紹
有三張表a、b、c,現(xiàn)在需要從表b和表c中分別查幾個字段的值插入到表a中對應的字段。對于這種情況,可以使用如下的語句來實現(xiàn):
INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name
 
上面的語句比較適合兩個表的數(shù)據(jù)互插,如果多個表就不適應了。對于多個表,可以先將需要查詢的字段JOIN起來,然后組成一個視圖后再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的字段進行了組合,然后再通過SELECT嵌套查詢插入到表a中,這樣就滿足了這個場景了,如果需要不止2個表,那么可以多個JOIN的形式來組合字段。

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

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

即最后的AS tb是必須的(tb這個名稱可以隨意?。粗付ㄒ粋€別名。每個派生出來的新表都必須指定別名,否則在mysql中會報如下錯誤:

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
 
否則也會報錯:You have an error in your SQL syntax

相關文章

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

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

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

    mysql 5.7.18 免安裝版window配置方法

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

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

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

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

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

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

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

    mysql錯誤代碼之1064的解決方案

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

    MySQL DEFINER具體使用詳解

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

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

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

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

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

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

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

最新評論