MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでテーブル名を変更する方法|ALTER TABLEとRENAMEの使い方を解説

MySQLでテーブル名を変更したい場合、「ALTER TABLE」文と「RENAME」キーワードを組み合わせて使用します。この記事では、実際のコマンド例をもとに、テーブル名の変更手順をわかりやすく解説します。

1. 変更前のテーブルを作成する

まず、CREATE文を使ってサンプル用のテーブルを作成します。ここでは従業員情報を管理する「Employee」というテーブルを作成しましょう。

mysql> CREATE table Employee
   -> (
   -> EmpId int,
   -> EmpName varchar(200)
   -> );
Query OK, 0 rows affected (0.49 sec)

これで「EmpId(整数型)」と「EmpName(可変長文字列)」の2つのカラムを持つテーブルが作成できました。

2. テーブル名を変更する基本構文

テーブル名を変更する際の基本構文は以下の通りです。

ALTER TABLE 現在のテーブル名 RENAME TO 新しいテーブル名;

それでは、この構文を使って実際に「Employee」テーブルを「EmployeeTable」という名前に変更してみます。

mysql> alter table Employee rename to EmployeeTable;
Query OK, 0 rows affected (0.56 sec)

「Query OK」と表示されれば、テーブル名の変更は正常に完了しています。

3. 変更結果を確認する

リネーム操作が成功したかどうかを確認するために、SELECT文を実行してみましょう。まずは旧テーブル名「Employee」を指定してクエリを実行します。

mysql> SELECT * from Employee;
ERROR 1146 (42S02): Table 'business.employee' doesn't exist

すると「テーブルが存在しない」というエラーが表示されます。これは、旧名称の「Employee」というテーブルがすでに存在せず、名前が「EmployeeTable」に変更されているためです。つまり、このエラー自体がリネーム成功の証拠といえます。

続いて、新しいテーブル名「EmployeeTable」を指定して同じクエリを実行します。

mysql> SELECT * from EmployeeTable;
Empty set (0.00 sec)

今度はエラーが発生せず、正常にクエリが実行されました。テーブルの中身が空のため「Empty set」と表示されていますが、これでテーブル名が「Employee」から「EmployeeTable」へ正しく変更されたことが確認できました。

補足:RENAME TABLE文でも変更できる

MySQLでは、RENAME TABLE文を使ってテーブル名を変更することも可能です。書き方はシンプルで、以下のように記述します。

RENAME TABLE 旧テーブル名 TO 新テーブル名;

さらに、RENAME TABLE文ではカンマ区切りで複数のテーブルを一度にリネームできるという利点もあります。

RENAME TABLE tableA TO tableB, tableC TO tableD;

まとめ

MySQLでテーブル名を変更するには、「ALTER TABLE テーブル名 RENAME TO 新テーブル名」または「RENAME TABLE 旧テーブル名 TO 新テーブル名」を使用します。どちらの方法でも即座に反映されるため、変更後はSELECT文などで動作確認しておくと安心です。運用中のデータベースでテーブル名を変更する場合は、参照しているアプリケーションやビューへの影響もあわせて確認しておきましょう。

  1. MySQLクエリでテーブル列の日付形式を変更する方法

    MySQLクエリでテーブル列の日付形式を変更する方法 MySQLでテーブルに保存された日付の表示形式を変更するには、DATE_FORMAT()関数を使用します。この記事では、サンプルテーブルを作成し、実際に日付形式を変換するまでの手順をサンプルコード付きでわかりやすく解説します。 1. サンプルテーブルの作成 まず、datetime型の列を持つテーブルを作成しましょう。 mysql> create table DemoTable1906 ( DueTime datetime ); Query OK, 0 rows affected (0.00 sec) 2.

  2. MySQLでテーブルが存在するかどうかを確認する方法【INFORMATION_SCHEMA.TABLES活用】

    MySQLでテーブルの存在を確認するにはMySQLにおいて、特定のテーブルがデータベース内に存在するかどうかを確認したい場合、INFORMATION_SCHEMA.TABLES を利用するのが一般的な方法です。このシステムビューには、サーバー上のすべてのデータベースとテーブルに関するメタデータが格納されており、これを参照することで目的のテーブルが存在するかを簡単に調べられます。基本構文テーブルの存在確認は、以下のようなSELECT文で行います。select table_name from information_schema.tables where table_schema=database