SQL文--INSERT INTO SELECT文使用例
2135 ワード
SQLでは、あるテーブルから別のテーブルに情報をコピーできます.
INSERT INTO SELECT文は、1つのテーブルからデータをコピーし、既存のテーブルにデータを挿入します.
SQL INSERT INTO SELECT文
INSERT INTO SELECT文は、1つのテーブルからデータをコピーし、既存のテーブルにデータを挿入します.ターゲット・テーブルの既存のローは影響を受けません.
SQL INSERT INTO SELECT構文
あるテーブルからすべてのカラムをコピーして、別の既存のテーブルに挿入できます.
または、別の既存のテーブルに挿入するカラムのみをコピーできます.
デモデータベース
このチュートリアルでは、RUNOOBサンプルデータベースを使用します.
「Websites」テーブルから選択したデータを次に示します.
次は「apps」アプリのデータです.
SQL INSERT INTO SELECT例
「apps」のデータをコピーして「Websites」に挿入します.
≪インスタンス|Instance|emdw≫
QQのアプリだけを「Websites」に返信します.
≪インスタンス|Instance|emdw≫
INSERT INTO SELECT文は、1つのテーブルからデータをコピーし、既存のテーブルにデータを挿入します.
SQL INSERT INTO SELECT文
INSERT INTO SELECT文は、1つのテーブルからデータをコピーし、既存のテーブルにデータを挿入します.ターゲット・テーブルの既存のローは影響を受けません.
SQL INSERT INTO SELECT構文
あるテーブルからすべてのカラムをコピーして、別の既存のテーブルに挿入できます.
INSERT INTO table2
SELECT * FROM table1;
または、別の既存のテーブルに挿入するカラムのみをコピーできます.
INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;
デモデータベース
このチュートリアルでは、RUNOOBサンプルデータベースを使用します.
「Websites」テーブルから選択したデータを次に示します.
+----+--------------+---------------------------+-------+---------+
| id | name | url | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1 | Google | https://www.google.cm/ | 1 | USA |
| 2 | | https://www.taobao.com/ | 13 | CN |
| 3 | | http://www.runoob.com/ | 4689 | CN |
| 4 | | http://weibo.com/ | 20 | CN |
| 5 | Facebook | https://www.facebook.com/ | 3 | USA |
| 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND |
+----+---------------+---------------------------+-------+---------+
次は「apps」アプリのデータです.
mysql> SELECT * FROM apps;
+----+------------+-------------------------+---------+
| id | app_name | url | country |
+----+------------+-------------------------+---------+
| 1 | QQ APP | http://im.qq.com/ | CN |
| 2 | APP | http://weibo.com/ | CN |
| 3 | APP | https://www.taobao.com/ | CN |
+----+------------+-------------------------+---------+
3 rows in set (0.00 sec)
SQL INSERT INTO SELECT例
「apps」のデータをコピーして「Websites」に挿入します.
≪インスタンス|Instance|emdw≫
INSERT INTO Websites (name, country)
SELECT app_name, country FROM apps;
QQのアプリだけを「Websites」に返信します.
≪インスタンス|Instance|emdw≫
INSERT INTO Websites (name, country)
SELECT app_name, country FROM apps
WHERE id=1;