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    |
+----+-------+-------+

注意:目標テーブルとソーステーブルの列の数とデータ型は一致している必要があります。そうでないと、挿入が失敗します。

bannerAds