※この記事の初版は2018年9月でした。
こんにちは、堀井です。
SQLを始めるぞ!でもどこから手を付ければいい? の記事内で購入した参考書を見ていると、テーブル定義の変更をする際のALTER文に関して「列名の変更方法」が見当たらなかったので調べました。まだ4章までしか見ていないので、あったらすみません。
ALTERの意味
そもそもALTER TABLEのALTERは「変更する」と言う意味だそうです。
自分は英語の意味を知ることでより一層簡単にプログラムを書けると思っているので、まずは意味を調べます。
alterの意味・使い方・読み方 | Weblio英和辞書
ALTER文の書き方
ALTER [変更箇所] [変更箇所の具体名] [処理動作] [動作内容];
となります。
もう少し具体例を挙げると、
ALTER TABLE [テーブル名] ADD COLUMN [列名];
と書けば [テーブル名] に [列名] の列を追加することになります。
詳しく書くと
変更箇所:TABLE
具体名:[テーブル名]
処理動作:ADD COLUMN
動作内容:[列名]
こうです。
ALTER TABLE [テーブル名] DROP COLUMN [列名];
と書けば [テーブル名] から [列名] の列を削除することになります。
テーブル名や列名の変更方法
書き間違えた場合はDROPで消してしまってもいいのですが、大量のデータがあると非常に面倒なのでリネームしてしまいましょう。
ALTER TABLE [テーブル名(改名前)] RENAME TO [テーブル名(改名後)];
と書くことでテーブル名を書き換えることが出来ます。
詳しく書くと
変更箇所:TABLE
具体名:[テーブル名(改名前)]
処理動作:RENAME
動作内容:TO [テーブル名(改名後)]
こうです。
同じように列名は
ALTER COLUMN [列名(改名前)] RENAME TO [列名(改名後)];
としたいと思いましたが、テーブル名を指定していないのでエラーを吐きました。正しくは
ALTER TABLE [テーブル名] RENAME COLUMN [列名(改名前)] TO [列名(改名後)];
となります。
詳しく書くと
変更箇所:TABLE
具体名:[テーブル名]
処理動作:RENAME COLUMN
動作内容:[列名(改名前)] TO [列名(改名後)]
少し分かりづらいですが覚えるしかなさそうですね。