2019-01-23
2019-10-21
MySQLでカラム名の変更と上書きする

MySqlで既存のカラム名を変更する方法を公開します。
MySqlで既存のカラム名を変更するコマンド
基本は以下のような形になります。
ALTER TABLE テーブル名 CHANGE COLUMN 既存のカラム名 新カラム名 型名 制約;
名前のみ変更したい場合
名前のみ変更したい場合でも、新規のカラム名と既存のカラム型を記載する必要があります。
以下例はtagsテーブルのproviderIdカラムをtagIdの名称に変更する場合です
mysql> ALTER TABLE tags CHANGE COLUMN providerId tagId int;
カラム自体を別のカラムに上書きする場合
既存のカラムを別の型・別のカラム名に変更することも可能です
以下はnumberカラムをtagNameに名前変更し、型をchar型、30バイト制限に変更する場合です
まずカラム構成は以下のような形
mysql> describe tags;
+-----------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| number | int(11) | YES | | NULL | |
| tagId | int(11) | YES | | NULL | |
| createdAt | datetime | NO | | NULL | |
| updatedAt | datetime | NO | | NULL | |
+-----------+----------+------+-----+---------+----------------+
以下コマンドを実行
ALTER TABLE tags CHANGE COLUMN number tagName char(30);
mysql> describe tags;
+-----------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| tagName | char(30) | YES | | NULL | |
| tagId | int(11) | YES | | NULL | |
| createdAt | datetime | NO | | NULL | |
| updatedAt | datetime | NO | | NULL | |
+-----------+----------+------+-----+---------+----------------+
以上になります。
その他MySQL記事一覧
MySQLでテーブルへカラムを追加するALTER TABLE ~ ADD
Ruby on Railsでデータベースカラムの追加と削除を行う
前の記事
2019/01/22
次の記事
2019/01/22