mysqlの中で、insert into select文をどのように使用するのですか?
MySQLで、INSERT INTO SELECT文は1つのテーブルから別のテーブルにデータを挿入するために使用されます。
文法は以下の通りです:
INSERT INTO 目标表名 (列1, 列2, 列3, ...) SELECT 列1, 列2, 列3, ... FROM 源表名 WHERE 条件;
目的のテーブル名は、データを挿入するテーブルを指し、列1、列2、列3などが目的のテーブルに挿入される列を指定します。ソーステーブル名は、データを選択する元のテーブルを指し、列1、列2、列3などが選択するソーステーブルの列を指定します。WHERE句はオプションであり、データを選択する条件を指定するために使用されます。
例:
table1とtable2という2つのテーブルがあるとしましょう。それらの構造は以下のようになります:
1つのオプションだけ必要な日本語で言い換えると、「表1:」
+----+-------+-------+
| id | name | age |
+----+-------+-------+
| 1 | John | 25 |
| 2 | Alice | 30 |
+----+-------+-------+
表2:
+----+-------+-------+
| id | name | age |
+----+-------+-------+
| 3 | Bob | 35 |
+----+-------+-------+
table1のデータをtable2に挿入する場合は、次のINSERT INTO SELECTステートメントを使用できます。
INSERT INTO table2 (id, name, age)
SELECT id, name, age FROM table1;
上記のステートメントを実行すると、table2の内容が変わります。
+----+-------+-------+
| id | name | age |
+----+-------+-------+
| 3 | Bob | 35 |
| 1 | John | 25 |
| 2 | Alice | 30 |
+----+-------+-------+
注意:目標テーブルとソーステーブルの列の数とデータ型は一致している必要があります。そうでないと、挿入が失敗します。