logo

MySQL の列名の変更

場合によっては、列名が意味を持たないため、名前を変更するか、列の名前を変更する必要があります。 MySQL は、テーブル内の 1 つ以上の列の名前を変更できる便利な構文を提供します。 ALTER ステートメント権限や DROP ステートメント権限など、列の名前を変更する前に必要な権限はほとんどありません。

MySQL は次の 2 つの方法でカラム名を変更できます。

  1. CHANGE ステートメントの使用
  2. RENAME ステートメントの使用

CHANGE ステートメントの使用:

以下は、CHANGE ステートメントを使用した列の名前変更を示す構文です。

 ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name Data Type; 

この構文では、すべての列属性の再指定が必要になる可能性があることがわかります。この構文を使用すると、列のデータ型を変更することもできます。ただし、CHANGE ステートメントには次のような欠点がある場合があります。

  • 列属性のすべての情報がアプリケーションで名前変更に利用できるわけではない場合があります。
  • 偶発的にデータ型が変更され、アプリケーションのデータが失われる可能性があります。

CHANGE ステートメントがどのように機能するかを理解しましょう。 MySQL さまざまな例を使用して列の名前を変更します。という名前のテーブルがあるとします。 バランス これには次のようなデータが含まれます。

MySQL 列名の変更

何らかの理由により、変更する必要があります。 列名 account_num とそのデータ型 。その場合、まず、次のコマンドを使用してテーブルの構造を確認します。 説明する 次のような声明:

MySQL の列名の変更

この画像では、列名のデータ型が アカウント番号整数 。そして、この列名を次のように変更したいとします。 アカウントなし およびそのデータ型は intからvarcharへ 。したがって、これを行うには、次のステートメントを実行できます。

 mysql> ALTER TABLE balance CHANGE COLUMN account_num account_no VARCHAR(25); 

上記のコマンドを実行した後、DESCRIBE ステートメントを再度使用して確認できます。以下の画像では、列名 account_num とそのデータ型が正常に変更されました。

MySQL の列名の変更

RENAME ステートメントの使用:

CHANGE ステートメントの欠点を取り除くために、MySQL は RENAME ステートメントを使用したカラム名の変更を示す次の構文を提案しました。

Javaリストボックス
 ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name; 

さまざまな例を通して、MySQL で RENAME ステートメントがどのように機能してカラム名を変更するかを理解しましょう。という名前のテーブルがあるとします。 お客様 これには次のデータが含まれます。

JavaScript サンプルコードの例
MySQL の列名の変更

列名のアカウントを変更したいとします。 アカウントなし データ型を変更せずに。これを行うには、次のステートメントを実行します。

 mysql> ALTER TABLE customer RENAME COLUMN account to account_no; 

上記のコマンドを実行した後、次のコマンドを使用して確認できます。 選択する またまた発言。以下の画像では、列名のアカウントが正常に変更されました。

MySQL の列名の変更

複数の列の名前を変更する

MySQL では、単一のステートメント内で複数のカラム名を変更することもできます。複数の列名を変更する場合は、次の構文を使用します。

 ALTER TABLE table_name CHANGE old_column_name1 new_column_name1 Data Type, CHANGE old_column_name2 new_column_name2 Data Type, ... ... CHANGE old_column_nameN new_column_nameN Data Type; 

または

 ALTER TABLE table_name RENAME COLUMN old_column_name1 TO new_column_name1, RENAME COLUMN old_column_name2 TO new_column_name2, ... ... RENAME COLUMN old_column_nameN TO new_column_nameN; 

変更したいとします 列名 id と customer_name から 顧客テーブル 。 1 つのステートメント内で複数の列名を変更するには、次のようにステートメントを使用します。

 mysql> ALTER TABLE customer CHANGE id cust_id int, CHANGE customer_name cust_name varchar(45); 

上記のコマンドを実行した後、もう一度 SELECT ステートメントを使用して確認できます。以下の画像では、列名 id と customer_name が正常に変更されました。

MySQL の列名の変更

次のように RENAME COLUMN ステートメントを使用して、現在変更している列名を再度変更してみましょう。

 mysql> ALTER TABLE customer RENAME COLUMN cust_id TO id, RENAME COLUMN cust_name TO customer_name; 

上記のコマンドを実行した後、DESCRIBE ステートメントを再度使用して確認できます。下の画像では、 列名 cust_id および cust_name 正常に変更されました:

MySQL の列名の変更

この記事では、MySQL RENAME カラムの概要と、指定したテーブルのカラム名を変更する方法を、理解を深めるためのクエリ例とともに学習しました。