首頁 > 資料庫 > mysql教程 > 插入 MySQL select 的結果?是否可以?

插入 MySQL select 的結果?是否可以?

王林
發布: 2023-09-11 16:29:07
轉載
1096 人瀏覽過

插入 MySQL select 的结果?是否可以?

每當插入選擇結果時,都不需要使用值。為了插入 select 的結果,我們先建立兩個表。

第一個表查詢如下 -

< FirstTableDemo>
mysql> create table FirstTableDemo
   &minus;> (
   &minus;> StudentId int,
   &minus;> StudentName varchar(100)
   &minus;> );
Query OK, 0 rows affected (0.41 sec)
登入後複製

現在建立第二個表,然後使用INSERT SELECT指令將第二個表的記錄插入到第一個表中。

建立第二個表格的查詢如下:

<SecondTableDemo>

mysql> create table SecondTableDemo
   &minus;> (
   &minus;> Id int,
   &minus;> Name varchar(100)
   &minus;> );
Query OK, 0 rows affected (0.47 sec)
登入後複製

使用插入指令在表格中插入記錄。查詢如下 −

mysql> insert into SecondTableDemo values(1,&#39;John&#39;);
Query OK, 1 row affected (0.14 sec)

mysql> insert into SecondTableDemo values(2,&#39;Sam&#39;);
Query OK, 1 row affected (0.27 sec)
登入後複製

現在第二個表格中有兩筆記錄。使用select 語句顯示表中所有記錄的查詢如下-

mysql> select *from SecondTableDemo;
登入後複製

以下是輸出−

+------+------+
| Id   | Name |
+------+------+
|    1 | John |
|    2 | Sam  |
+------+------+
2 rows in set (0.00 sec)
登入後複製

使用INSERT SELECT語句將第二個表的所有記錄插入到第一個表中−

mysql> insert into FirstTableDemo(StudentId,StudentName)
   &minus;> select Id,Name from SecondTableDemo as tbl1
   &minus;> where tbl1.Id not in (select StudentId from FirstTableDemo);
Query OK, 2 rows affected (0.57 sec)
Records: 2 Duplicates: 0 Warnings: 0
登入後複製

現在我們已經將第二個表的所有記錄插入到第一個表中。讓我們使用select語句進行交叉檢查。查詢如下所示 −

mysql> select *from FirstTableDemo;
登入後複製

以下是輸出 −

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|         1 | John        |
|         2 | Sam         |
+-----------+-------------+
2 rows in set (0.00 sec)
登入後複製

以上是插入 MySQL select 的結果?是否可以?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板