ホームページ >データベース >mysql チュートリアル >MySQL select の結果を挿入しますか?出来ますか?

MySQL select の結果を挿入しますか?出来ますか?

王林
王林転載
2023-09-11 16:29:071093ブラウズ

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

選択結果を挿入するときに値を使用する必要はありません。 select の結果を挿入するには、まず 2 つのテーブルを作成します。

最初のテーブル クエリは次のとおりです -

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

次に 2 番目のテーブルを作成し、INSERT SELECT コマンドを使用して 2 番目のテーブルのレコードを最初のテーブルに挿入します。

2 番目のテーブルを作成するクエリは次のとおりです。

<SecondTableDemo>

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

insert コマンドを使用して、テーブルにレコードを挿入します。クエリは次のとおりです。 -

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)

これで、2 番目のテーブルに 2 つのレコードがあります。 select ステートメントを使用してテーブル内のすべてのレコードを表示するクエリは次のとおりです。 -

mysql> select *from SecondTableDemo;

次は出力です。-

+------+------+
| Id   | Name |
+------+------+
|    1 | John |
|    2 | Sam  |
+------+------+
2 rows in set (0.00 sec)

INSERT SELECT ステートメントを使用して、テーブル内のすべてのレコードを挿入します。 2 番目のテーブルを最初のテーブルに -

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

これで、2 番目のテーブルのすべてのレコードが最初のテーブルに挿入されました。 select ステートメントを使用してクロスチェックしてみましょう。クエリは次のとおりです -

mysql> select *from FirstTableDemo;

以下は出力です -

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|         1 | John        |
|         2 | Sam         |
+-----------+-------------+
2 rows in set (0.00 sec)

以上がMySQL select の結果を挿入しますか?出来ますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。