【SQL基礎】テーブル定義の変更と削除
1. テーブル定義の変更
テーブル作成後にカラムを追加したいなど、テーブル定義の内容を変更したい場合は、ALTER TABLE文で変更が可能です。【SQL基礎】テーブル作成で作成したemployeesテーブルの定義を変更していきましょう。
1-1. テーブル名の変更
テーブル名を変更したい場合は下記で変更できます。
ALTER TABLE テーブル名 RENAME 新テーブル名;
実際に、employeesからteachersに変更してみましょう。
show tablesコマンドで確認してみます。
teachersにテーブル名が変更されています。
1-2. カラムの名の変更
カラム名を変えたい場合は下記となります。
ALTER TABLE テーブル名 RENAME COLUMN カラム名 TO 新カラム名;
今回はaddrをaddressに変更します。
descコマンドで確認してみます。
addressにカラム名が変更されました。
1-3. カラムの追加
カラムを追加したい場合は下記となります。
ALTER TABLE テーブル名 ADD カラム名 データ型 [制約] [FIRST | AFTER カラム名];[]内のものは省略可能です。省略した場合は、最後にカラムが追加されます。
先頭にカラムを追加したい場合はFIRSTを、指定のカラムの後ろに追加したい場合はAFTER カラム名を記述してください。
では、addressの後ろにmailを追加してみましょう。
descコマンドで確認してみます。
Addressの後ろにmailが追加されました。
1-4. カラム定義(データ型や制約)の変更
カラム定義を変えたい場合はALTER TABLE CHANGE 文または ALTER TABLE MODIFY 文を使用します。
ALTER TABLE テーブル名 CHANGE カラム名 新カラム名 カラム定義; ALTER TABLE テーブル名 MODIFY カラム名 カラム定義;
ALTER TABLE CHANGE 文はカラム名と一緒にカラム定義)を変更します。
ALTER TABLE MODIFY 文のほうは、カラム定義のみ変更します。
まずは、ALTER TABLE CHANGE 文でmailのカラム名をemailにし、NOT NULL制約を付け加えてみましょう
descコマンドで確認してみます。
emailにカラム名が変更されNOT NULL制約が付きました。
続いて、ALTER TABLE MODIFY文で制約をDEFAULT “”に変更してみましょう。
descコマンドで確認してみます。
emailカラムの制約がDEFAULT “”に変更されています。
1-5. カラムの削除
カラムを削除したい場合は下記となります。
ALTER TABLE テーブル名 DROP カラム名;
では、emailを削除してみましょう
descコマンドで確認してみます。
emailが削除されました。
2. テーブルの削除
不要になったテーブルを削除したい場合は、下記の構文で削除が可能です。
DROP TABLE データベース名.テーブル名;
では、事前に作成しておいたsampleテーブルを実際に削除してみます
show tablesで確認します。
sampleテーブルは削除されました。