MySQLでカラムを追加・変更・削除しよう
目安時間:30分
この記事は、MySQLの以下の操作について説明します。
- カラムを追加する操作
- カラム名を変更する操作
- カラムを削除する操作
この記事を読む前に
MySQLの開発環境構築
- Macの場合:MySQLの開発環境を用意しよう
- Windowsの場合:MySQLの開発環境を用意しよう
必要な知識
※ お使いのPCの環境によって、実際の画面と記事内の画像では見た目が異なる可能性があります。
1. データを準備しよう
準備するデータベースを確認しよう
はじめに、準備するデータベースの確認を行います。この記事では、スーパーマーケット(shop_appデータベース)の商品データ管理(itemsテーブル)を例にしてカラム操作を説明していきます。
準備するデータベースおよびテーブルの構造は以下になります。
データ準備の手順を確認しよう
以下の手順でデータを準備していきましょう。
- MySQLにログインする
- データベースを作成する
- テーブルを作成する
- データを登録する
MySQLにログインしよう
データを準備するにはMySQLにログインする必要がありますので、MySQLを起動し、ログインしましょう。
ログインできたら、必要なデータベースやテーブル、データを準備していきましょう。
データベースを作成しよう
まずは先ほど確認した
shop_app
データベースを作成していきます。次のクエリを入力し、エンターキーを押してください。
CREATE DATABASE shop_app;
Query OK
と表示されれば、成功です。実際に
shop_app
データベースが作成できたかを確認しましょう。次のクエリを実行して、データベースの一覧を表示してください。
SHOW DATABASES;
表示された一覧に
shop_app
という名前のデータベースが含まれていれば、成功です。次のクエリを実行して、データベースを選択してください。
USE shop_app;
Database changed
と表示されれば、データベースの選択が完了です。テーブルを作成しよう
shop_app
データベースを作成できたので、このデータベースにitems
テーブルを作成しましょう。- Macの場合は、次のクエリを実行してください。
CREATE TABLE items(id INT AUTO_INCREMENT, name TEXT, price INT, category TEXT, PRIMARY KEY(id));
- Windowsの場合は、次のクエリを実行してください。
CREATE TABLE items(id INT AUTO_INCREMENT, name TEXT, price INT, category TEXT, PRIMARY KEY(id)) DEFAULT CHARSET=utf8;
Query OK
と表示されれば成功です。実際にテーブルが作成できたかを確認しましょう。
次のクエリを実行して、テーブルの一覧を表示してください。
SHOW TABLES;
items
という名前のテーブルが表示されれば、成功です。データを作成しよう
最後に、
items
テーブルにデータを3件登録しましょう。
以下の3つのクエリを実行してください。INSERT INTO items(name, price, category) VALUES ('にんじん', 60, '野菜');
INSERT INTO items(name, price, category) VALUES ('バナナ', 200, '果物');
INSERT INTO items(name, price, category) VALUES ('牛乳', 120, '飲料');
それぞれ
Query OK
と表示されれば成功です。実際にデータが作成できたかを確認しましょう。
次の
SELECT
クエリを実行してください。SELECT * FROM items;
画像のように3つのデータが登録されていればデータの準備は完了です。
2. カラムを追加しよう
カラム追加の手順を確認しよう
以下の手順でカラムを追加していきましょう。
- 現在のテーブルを確認する
- カラムを追加する
- カラム追加後のテーブルを確認する
現在のテーブルを確認する
カラムを追加する前に、現在のテーブルを一度確認しておきましょう。
次のクエリを実行してください。
SELECT * FROM items;
カラムを追加する
実際にカラムを追加しましょう。
今回のようにカラムを追加したい場合は、下の画像のようにしましょう。在庫数は数字(整数)で表すことができるので、クエリ中のデータ型はINTにします。
それでは実際に次のクエリを実行してみましょう。
ALTER TABLE items ADD COLUMN stock INT;
実行後に、
Query OK
と表示されれば成功です。カラム追加後のテーブルを確認する
items
テーブルにstock
カラムを追加できたかを確認しましょう。次のクエリを実行して、カラムが追加されていることを確認してください。
SELECT * FROM items;
NULL
と表記されているのはstock
カラムの値が未設定であることを表しています。UPDATE
クエリを使って、実際に値を設定してみましょう。今回は、id
カラムが「1」のデータのstock
カラム(在庫数)を「100」に設定してみます。次のクエリを実行してください。
UPDATE items SET stock = 100 WHERE id = 1;
実行後に、
Query OK
と表示されれば成功です。再びテーブルの中を確認してみましょう。
次のクエリを実行してください。
SELECT * FROM items;
画像のように
id
カラムが「1」のデータの在庫数が設定されていれば成功です。
残りの
id
カラムが「2」と「3」のデータの在庫数も設定してしまいましょう。次のクエリを実行してください。
UPDATE items SET stock = 150 WHERE id = 2;
UPDATE items SET stock = 80 WHERE id = 3;
実行後に、
Query OK
と表示されれば成功です。再びテーブルの中を確認してみましょう。
次のクエリを実行してください。
SELECT * FROM items;
id
カラムが「2」と「3」のデータにも在庫数が設定されていれば、カラム追加は完了です。3. カラム名を変更しよう
カラム名変更の手順を確認しよう
以下の手順でカラム名を変更していきましょう。
- 現在のテーブルを確認する
- 変更するカラムのデータ型を確認する
- カラム名を変更する
- カラム名変更後のテーブルを確認する
現在のテーブルを確認する
カラム名を変更する前に、現在のテーブルを確認しておきましょう。
次のクエリを実行してください。
SELECT * FROM items;
変更するカラムのデータ型を確認する
カラム名を変更するクエリでは、カラムのデータ型を入力する必要があります。
price
カラムのデータ型を確認して同じデータ型を指定できるようにしましょう。次のクエリを実行して、テーブル情報を確認してください。
DESCRIBE items;
Type
と書いてある列が、データ型を表しています。画像のように、price
カラムのデータ型はINT
です。
カラム名を変更する
データ型の確認ができたので、
price
カラムをcost
という名前に変更してみましょう。カラム名を変更するには下の画像のようにします。
それでは実際に次のクエリを実行してみましょう。
ALTER TABLE items CHANGE COLUMN price cost INT;
実行後、
Query OK
と表示されれば成功です。カラム名変更後のテーブルを確認する
items
テーブルのprice
カラムがcost
カラムに変更できたかを確認しましょう。次のクエリを実行してください。
SELECT * FROM items;
4. カラムを削除しよう
カラム削除の手順を確認しよう
以下の手順でカラムを削除していきましょう。
- 現在のテーブルを確認する
- カラムを削除する
- カラム削除後のテーブルを確認する
現在のテーブルを確認する
まずは、現在のカラムを確認しておきます。
次のクエリを実行してください。
SELECT * FROM items;
カラムを削除する
現在のテーブルを確認できたので、
items
テーブルのcategory
カラムを削除していきましょう。カラムを削除するには、下の画像のようにします。
それでは実際に次のクエリを実行してみましょう。
ALTER TABLE items DROP COLUMN category;
実行後、
Query OK
と表示されれば成功です。カラム削除後のテーブルを確認する
category
カラムが削除できたかを確認しましょう。次のクエリを実行してください。
SELECT * FROM items;
5. うまくいかない時のチェックリスト
うまくいかない場合は、以下のような間違いがないかチェックしてみましょう。
- 記事で指定したコードが貼り付けられていない
- 入力したファイル名やソースコードなどに誤字脱字がある
- コマンドの内容や実行している場所が違う