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

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

王林
王林轉載
2023-09-11 16:29:071108瀏覽

插入 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刪除