Daily Archives: 2008 年 10 月 30 日

MySQLでテーブルをコピー&リネーム

1
Filed under MySQL, SQL
Tagged as ,

MySQLを利用していて、テーブルをリネームしてみたくなったり、
コピーしてみたくなったりすることがありますよね。

なので、一応まとめときます。

【テーブルリネーム】

RENAME TABLE before_table_name TO after_table_name;

例:
  変更前のテーブル名が 「tec」 で
  変更後のテーブル名を 「log」 にしたい場合には、

RENAME TABLE tec to log;

次に特定のテーブルをコピーしたい場合です。

【テーブルコピー】

CREATE TABLE new_table AS SELECT * FROM old_table;

例1:
  コピー元のテーブル名が 「apple」 で
  コピー先「新規作成」のテーブル名が 「melon」の場合には、

CREATE TABLE melon AS SELECT * FROM apple;

例2:
特定の条件のもののみコピーしたい場合には WHERE句で指定して
  コピーすることもできます。

  コピー元のテーブル名が 「all」 で
  コピー先「新規作成」のテーブル名が 「now」で
  「Year」カラムが「2008」のもののみ抜き出す場合には、

  CREATE TABLE now AS SELECT * FROM all WHERE Year = ’2008′;

というような形になりますね。

ということで、久々の更新はこんな感じで。

MySQLのおすすめ書籍