別のデータベースのテーブルにレコードを移動、コピーさせる場合はこちらの記事を参照してください。
別テーブルへレコードをコピーまたは移動させる場合のSQL文を紹介します。
insert into テーブル名(列名1,列名2,列名3,…) select 列名1,列名2,列名3,… from テーブル名
次のテーブルを準備します。
| id | model | name | class | category | price |
|---|---|---|---|---|---|
| 1 | C-XM01 | モーダンチェア | ホーム | チェア | 56000 |
| 2 | X-XD05 | ラージデスク | オフィス | テーブル | 87000 |
| 3 | A-DA40 | ラウンドダイニングチェア | ホーム | チェア | 28000 |
| 4 | O-XX100 | ナチュラルオフィス | オフィス | チェア | 13800 |
| 5 | R-D400 | ラウンドダイニングテーブル | ホーム | テーブル | 128000 |
| id(自動採番) | model | name | class | category | price |
|---|
上記のテーブルがあり、Productsテーブルのすべてのレコードを ProductsV テーブルに挿入する場合は以下のSQLを用います。
insert into ProductsV(model,name,class,category,price) select model,name,class,category,price from Products
次のテーブルを準備します。
| id | name | price | category |
|---|---|---|---|
| 1 | Penguin | 500 | Bird |
| 2 | Bear | 1050 | Mammal |
| 3 | Duck | 150 | Bird |
| 4 | Camel | 920 | Mammal |
| 5 | Owl | 185 | Bird |
| 6 | Whale | 880 | Mammal |
| id(自動採番) | name | price | category |
|---|
上記のテーブルがあり、Item テーブルのpriceの値が500より大きいレコードを ItemTemp テーブルに挿入する場合は以下のSQLを用います。
insert into ItemTemp(model,name,class,category,price) select model,name,class,category,price from Item where price > 500
実行後のテーブルは以下の状態になります。
| id | name | price | category |
|---|---|---|---|
| 1 | Bear | 1050 | Mammal |
| 2 | Camel | 920 | Mammal |
| 3 | Whale | 880 | Mammal |