SQL Server - テーブルとデータをコピーする

SELECT * INTO 文を使用し、テーブルの作成とデータのコピーを一括して行います。

テーブルとデータをコピーするSQL

SELECT * INTO バックアップ先テーブル名 FROM 元テーブル名
SELECT * INTO 文は、SELECT文で抽出したデータを新しいテーブルにINSERT するステートメントで、新しいテーブルの列名と型は抽出結果と同じになります。

SELECT * INTO の構文は次の通りです。

SELECT <項目>,<項目>, ・・・
INTO <新しいテーブル名>
FROM <既存テーブル名>
WHERE <抽出条件>

例1 データはコピーしない

SELECT * INTO バックアップ先テーブル名 FROM 元テーブル名 WHERE 1=2

例2 列を追加したテーブルを作成してレコードをコピー

SELECT  *,
        'TEST' AS 新しい列名
  INTO バックアップ先テーブル名
  FROM 元テーブル名

検証環境

関連ページ