データベース | テーブル&データ複製する(テーブルのバックアップを取る)

データベース | テーブル&データ複製する(テーブルのバックアップを取る)

みなさん、こんにちは!

今回はDBのテーブルを複製する方法を確認します。

ケース

テーブルのバックアップを取る事例としては以下のようなケースでしょうか?

以下のようなテーブルがあったとします。

Create table employees(
    id varchar(5) NOT NULL PRIMARY KEY,
    name varchar(50)
)

このテーブルには既に100件のデータが入っているのですが、今回新たに列を追加することになりました。

その変更作業のために、一旦バックアップを取りたいと思います。

クエリ

以下のクエリを実行することで、わざわざバックアップ用のテーブルをCreateしなくても複製することができます。

やり方①)SELECT * INTO

SELECT * INTO で複製を行います。

SELECT * INTO employees_bk
 FROM employees;

やり方②)CREATE TABLE AS

処理結果は上記と同様です。こちらのクエリはMicrosoft SQL Serverでは使用できません。

CREATE TABLE employees_bk AS SELECT * FROM employees;

今回は以上です。