こんにちは。fsです。
前回は、MySQLでデータベースのテーブルを作成していきました。
※参考記事はこちら
↓↓↓↓↓↓↓↓
実際にテーブルにデータ項目(カラム)を入れていくと、
- カラムをつくり忘れる
- 後からデータの型を変えたい
- 不要なカラムを削除したい
このようなケースによく遭遇します。
そんなときに使えるのがalter tableというテーブルの構造を変更するコマンド(命令)です。
というわけで今回は、MySQLでテーブルの構造変更を実践していきたいと思います。
テーブルの構造を変更する
今回は行うのは、
- カラムの追加
- カラム名の変更
- 型の変更
- カラムの削除
です。
それでは一つずつやっていきましょう。
カラムを追加する
まずはカラムを追加します。
前回同様に顧客情報というテーブルをつくり、ここに郵便番号というカラムを足します。
カラムの追加はaddというコマンドを使います。
今回は郵便番号というカラムを追加したいので、このように打ち込みます。
※追加するカラム名の後にはデータの型を記載しましょう
create database shop;
use shop;
create table 顧客情報
(顧客名 text, 家族の人数 int, 入会日 date );
alter table 顧客情報 add 郵便番号 text;
データベースを更新すると、郵便番号というカラムが追加されていることがわかります。
なお、標準仕様では、カラムは一番最後に追加されます。
一番最初に持っていきたい場合はこのように書けばOKです。
create database shop;
use shop;
create table 顧客情報
(顧客名 text, 家族の人数 int, 入会日 date );
alter table 顧客情報 add column 郵便番号 text first;
カラム名を変更する
カラム名を変更するにはrenameというコマンドを使います。
郵便番号を郵便に変更してみましょう。
create database shop;
use shop;
create table 顧客情報
(顧客名 text, 家族の人数 int, 入会日 date );
alter table 顧客情報 add column 郵便番号 text;
alter table 顧客情報 rename column 郵便番号 to 郵便;
データベースを更新すると、カラム名が郵便となっていますね。
型を変更する
データの型を変更する場合はmodifyというコマンドを使います。
今回は郵便カラムのデータ型をテキストから整数に変更してみます。
create database shop;
use shop;
create table 顧客情報
(顧客名 text, 家族の人数 int, 入会日 date );
alter table 顧客情報 add column 郵便番号 text;
alter table 顧客情報 rename column 郵便番号 to 郵便;
alter table 顧客情報 modify column 郵便 int;
確認するとデータ型が整数に変わりました。
カラムの削除
カラムを削除したい場合は、dropというコマンドを使います。
create database shop;
use shop;
create table 顧客情報
(顧客名 text, 家族の人数 int, 入会日 date );
alter table 顧客情報 add column 郵便番号 text;
alter table 顧客情報 rename column 郵便番号 to 郵便;
alter table 顧客情報 modify column 郵便 int;
alter table 顧客情報 drop column 郵便;
更新すると、郵便というカラムが消えています。
これでalter tableの使い方は一通り網羅できました。
まとめ
いかがだったでしょうか。
alter tableというコマンド使って
- カラムの追加
- カラム名の変更
- データ型の変更
- カラムの削除
のやり方を紹介していきました。
これらの処理はデータベースを扱う上での基礎となりますのでぜひ手を動かしながら慣れていっていただければ幸いです。
今回は以上です。
最後までお読みいただきありがとうございました。
fsも愛用中!UdemyでMySQLを学ぼう!!
コメント