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

MySQLでテーブル名を変更する方法【RENAME TABLEコマンドの使い方を解説】

MySQLでテーブル名を変更する基本構文

MySQLで既存のテーブル名を変更したい場合は、RENAME TABLEコマンドを使用します。基本的な構文は以下のとおりです。

rename table 変更前のテーブル名 to 変更後のテーブル名;

それでは、実際にサンプルテーブルを作成し、テーブル名を変更する一連の手順を見ていきましょう。

手順1:サンプルテーブルを作成する

まず、名前を変更する対象となるテーブルを作成します。

mysql> create table DemoTable1
(
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    UserName varchar(100),
    UserAge int,
    UserCountryName varchar(100)
);
Query OK, 0 rows affected (1.29 sec)

手順2:テーブル構造を確認する

DESCコマンドを実行して、作成したテーブルの構造を確認しておきます。

mysql> desc DemoTable1;

実行結果は以下のとおりです。

+-----------------+--------------+------+-----+---------+----------------+
| Field           | Type         | Null | Key | Default | Extra          |
+-----------------+--------------+------+-----+---------+----------------+
| Id              | int(11)      | NO   | PRI | NULL    | auto_increment |
| UserName        | varchar(100) | YES  |     | NULL    |                |
| UserAge         | int(11)      | YES  |     | NULL    |                |
| UserCountryName | varchar(100) | YES  |     | NULL    |                |
+-----------------+--------------+------+-----+---------+----------------+
4 rows in set (0.20 sec)

手順3:RENAME TABLEコマンドでテーブル名を変更する

ここからが本題です。RENAME TABLEコマンドを使って、「DemoTable1」というテーブル名を「DemoTable2」に変更してみます。

mysql> rename table DemoTable1 to DemoTable2;
Query OK, 0 rows affected (1.22 sec)

手順4:変更後のテーブル構造を確認する

新しいテーブル名に対してDESCコマンドを実行し、正しくリネームされたかどうかを確認しましょう。

mysql> desc DemoTable2;

実行結果は以下のとおりです。

+-----------------+--------------+------+-----+---------+----------------+
| Field           | Type         | Null | Key | Default | Extra          |
+-----------------+--------------+------+-----+---------+----------------+
| Id              | int(11)      | NO   | PRI | NULL    | auto_increment |
| UserName        | varchar(100) | YES  |     | NULL    |                |
| UserAge         | int(11)      | YES  |     | NULL    |                |
| UserCountryName | varchar(100) | YES  |     | NULL    |                |
+-----------------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

このように、カラム構成やデータはそのままに、テーブル名だけが「DemoTable2」へ変更されていることが確認できます。

補足:ALTER TABLE文でもテーブル名を変更できる

なお、RENAME TABLEコマンドの代わりに、ALTER TABLE文を使ってテーブル名を変更することも可能です。

ALTER TABLE 変更前のテーブル名 RENAME TO 変更後のテーブル名;

どちらのコマンドも結果は同じですが、RENAME TABLEコマンドは複数のテーブルを一度にリネームできるうえ、アトミック(不可分)に動作するため、処理中に他のセッションからアクセスされても整合性が保たれるという利点があります。テーブル名の変更には、基本的にRENAME TABLEコマンドを使用するのがおすすめです。

  1. Javaを使用してMySQLテーブルの値を表示する方法

    MySQLデータベースのテーブル値をJavaで表示するには、ResultSetの概念を利用します。データベースへの接続には、MySQL JDBCドライバーを使用します。テーブルの作成まず、サンプル用のテーブルを作成しましょう。mysql> create table demo87    -> (    -> name varchar(20),    -> age int    -> )  

  2. Sequelizeを使ってNode.jsでMySQLテーブルを作成する方法

    SequelizeとはSequelizeは、PromiseベースのNode.js向けORM(Object-Relational Mapping)ライブラリです。PostgreSQL、MySQL、MariaDB、SQLite、Microsoft SQL Serverなど、主要なリレーショナルデータベースに幅広く対応しており、SQLを直接書かずにJavaScriptだけでデータベース操作を行えます。Sequelizeの主な機能は以下の通りです。トランザクションサポートリレーション(モデル間の関連付け)Eager Loading / Lazy Loading(即時読み込み・遅延読み込み)リードレプリ