ホームページ >データベース >mysql チュートリアル >MySQL select の結果を挿入しますか?出来ますか?
選択結果を挿入するときに値を使用する必要はありません。 select の結果を挿入するには、まず 2 つのテーブルを作成します。
最初のテーブル クエリは次のとおりです -
< FirstTableDemo> mysql> create table FirstTableDemo −> ( −> StudentId int, −> StudentName varchar(100) −> ); Query OK, 0 rows affected (0.41 sec)
次に 2 番目のテーブルを作成し、INSERT SELECT コマンドを使用して 2 番目のテーブルのレコードを最初のテーブルに挿入します。
2 番目のテーブルを作成するクエリは次のとおりです。
<SecondTableDemo> mysql> create table SecondTableDemo −> ( −> Id int, −> Name varchar(100) −> ); Query OK, 0 rows affected (0.47 sec)
insert コマンドを使用して、テーブルにレコードを挿入します。クエリは次のとおりです。 -
mysql> insert into SecondTableDemo values(1,'John'); Query OK, 1 row affected (0.14 sec) mysql> insert into SecondTableDemo values(2,'Sam'); 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) −> select Id,Name from SecondTableDemo as tbl1 −> 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 サイトの他の関連記事を参照してください。