SQL INSERT INTO SELECT
SQL を使用すると、あるテーブルから別のテーブルに情報をコピーできます。
INSERT INTO SELECT ステートメントは、テーブルからデータをコピーし、そのデータを既存のテーブルに挿入します。
SQL INSERT INTO SELECT ステートメント
INSERT INTO SELECT ステートメントは、テーブルからデータをコピーし、そのデータを既存のテーブルに挿入します。ターゲットテーブル内の既存の行は影響を受けません。
SQL INSERT INTO SELECT 構文
1 つのテーブルからすべての列をコピーして、別の既存のテーブルに挿入できます:
INSERT INTO table2
SELECT * FROM table1;
SELECT * FROM table1;
または単にコピーすることもできます目的の列を選択し、別の既存のテーブルに挿入します:
INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;
(column_name(s))
SELECT column_name(s)
FROM table1;
デモデータベース
このチュートリアルでは、php サンプル データベースを使用します。
以下は「ウェブサイト」テーブルから選択されたデータです:
+----+-------------+------------ - ---------------+------+-----------+
| 国名 |
-- -+---------------+---------------+----- --+------+
| グーグル https://www.google.cm/ | タオバオ | | 13 | 中国語のウェブサイト |
| | フェイスブック | https://www.facebook.com/ |
| 0 | --------+--------------------------+----------+--- - -----+
SQL INSERT INTO SELECT インスタンス
QQ APP を "ウェブサイト" にのみコピーします: 例
| 国名 |
-- -+---------------+---------------+----- --+------+
| グーグル https://www.google.cm/ | タオバオ | | 13 | 中国語のウェブサイト |
| | フェイスブック | https://www.facebook.com/ |
| 0 | --------+--------------------------+----------+--- - -----+
以下は「アプリ」APPのデータです:
mysql> SELECT * FROM apps;
+------+------------+-------- -- ---------------+--------+
| アプリ名 |
+----+----- ------+----------------------+----------+
| http://im.qq.com/ |
+----+-----------+---- -------+--- ------+
セット内の 3 行 (0.00 秒)
+------+------------+-------- -- ---------------+--------+
| アプリ名 |
+----+----- ------+----------------------+----------+
| http://im.qq.com/ |
+----+-----------+---- -------+--- ------+
セット内の 3 行 (0.00 秒)
「apps」のデータをコピーし、「」に挿入しますウェブサイト":
インスタンスウェブサイト (名前、国) に挿入
アプリからアプリ名、国を選択;ウェブサイト (名前、国) に挿入)
SELECT app_name, country FROM pWHERE id=1;