Developer

【SQL基礎】テーブル定義の変更と削除
2020.10.30
Lv1

【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テーブルは削除されました。

 

 

連載目次リンク

SQL基礎 連載目次

関連する連載リンク

SQL練習問題 一覧まとめ