MySQLで既に作成したテーブルの構造を変更する(フィールド名の変更、各種属性の付加など)

MySQLでテーブルを作成した後、何らかの事情でテーブルの構造を(データを保持しながら)変更しなければならなくなることもあるでしょう。このページではそのような時のためのテーブル構造変更手順を解説します。

もくじ

  • テーブル名・フィールド名を変更する
  • フィールドを追加する
  • フィールドに何らかの属性を付加/削除する
  • フィールドを削除する

テーブル名・フィールド名を変更する

以下、データベース名は「database_name」で、テーブル名やフィールド名は「hoge」などの文字列で表します。各自の環境に合わせて適宜読み替えてください。

テーブル名やフィールド名を変更する場合は、コマンドラインかphpMyAdminで以下のSQL文を実行することになります。 [mysql] #テーブル名を変更 ALTER TABLE database_name.hoge RENAME database_name.piyo; #フィールド名を変更 ALTER TABLE database_name.hoge CHANGE COLUMN fuga foo INT; #旧フィールド名はfuga 新フィールド名はfoo #新フィールド名の後ろにはフィールドのデータ型や属性を全部記述する [/mysql]


phpMyAdminからSQL文を実行する場合は、「SQL」タブにアクセスしてテキスト入力欄に実行したいSQL文を書き、「実行」ボタンを押せばOKです。なお、左カラムにあるデータベース・テーブルのリストから任意のデータベースにアクセスしており現在アクセス中のデータベース内のテーブルを操作する場合は、必ずしもデータベース名から記述する必要はありません(database_name. の部分を書かずにいきなりテーブル名を記述しても動作します)。


無事にSQL文が実行されました。

ちなみに、フィールド名を変更する際に操作対象のフィールドのデータ型や属性の記述を変更すると、フィールドのデータ型や属性を変更する操作になります(後述)。


既存のフィールドのデータ型や属性を確かめたい場合は、左カラムで任意のテーブルを選択してから「構造」タブにアクセスしましょう。

フィールドを追加する

あるテーブルに新しいフィールドを追加する場合は、以下のSQL文を実行します。 [mysql] ALTER TABLE database_name.hoge ADD piyo TEXT CHARACTER SET utf8; #ADDの後ろに新フィールド名を記述し、 #その後ろには新フィールドのデータ型、属性を記述する [/mysql]

フィールドに何らかの属性を付加/削除する

あるテーブルのあるフィールドに新しい属性を付加したり、既存の属性を削除したり、データ型を変更したりする場合は以下のSQL文を実行します。 [mysql] ALTER TABLE database_name.hoge MODIFY piyo INT UNSIGNED PRIMARY KEY; #MODIFYの後ろにフィールド名を記述し、 #フィールド名の後ろに新しいデータ型や属性を記述する [/mysql]

フィールドを削除する

あるテーブルからあるフィールドを削除する場合は、以下のSQL文を実行します。 [mysql] ALTER TABLE database_name.hoge DROP piyo; #DROPの後ろに削除するフィールドの名前を書く [/mysql]

参考リンク

このブログを応援する・寄付する

当ブログでは暗号通貨による寄付を募っております。

モナゲボタン モナゲボタン

Bitcoin:

Monacoin:

Litecoin: