MySQL
MySQLの環境構築ができたら、早速データベースを触ってみます。
MySQLは、SQL文と呼ばれるデータベースへの命令文を使って、データベースの操作を行います。
今回は、CRUDのSQL文を一通り簡単に紹介します。
CRUD
データベースの基本操作は4つあり、CRUDと呼ばれています。
CRUDには、それぞれSQL文の書き方が存在します。
SQL文 | CRUD | 機能 |
INSERT文 | Create | データ追加 |
SELECT文 | Read | データ取得 |
UPDATE文 | Update | データ更新 |
DELETE文 | Delete | データ削除 |
今回は、ユーザーのプロフィールをデータベースで管理してみます。
データベース作成
データベースの基本操作を行う前に、データベースを作成する必要があります。
1プロジェクトに1データベースの認識で大丈夫です。そのデータベースの中に、テーブルが複数存在するイメージです。
データベース名は自分で好きな名前を付けてください。
CREATE DATABASE データベース名;
データベースが作成できたかどうかは、データベース一覧を表示することで確認できます。
SHOW DATABASES;
テーブル作成
新しくテーブルを作成します。
テーブルを作成する際に、テーブル内に作成するカラム名とそのデータ型を指定します。
カラム名は自分で自由に命名して良いです。ただ、カラム名からデータの中身がわかる様な名前にしてください。
CREATE TABLE テーブル名 (カラム名 データ型);
カラムを複数作成する場合は、カンマで区切ってください。
データ型を指定する際に、型によっては最大文字数を指定することができます。
「INT(5)」だと「int型で最大5桁」になります。
test_tableというテーブルを作成し、「id, name, age, address, created_at」をカラムとして定義します。
CREATE TABLE test_table (id INT(5), name VARCHAR(31), age INT(3), address VARCHAR(51), created_at DATETIME);
<作成テーブルイメージ>
CRUD
データ追加
INSERT文を使えば、作成されているテーブルに新規レコードを挿入することができます。
INSERT INTO テーブル名 (カラム名) VALUES (値);
テーブル名とカラム名を指定して、カラムに対応する値を書きます。
さらに、カンマ区切りで一度に複数レコードを追加することができます。
カラム | 値1 | 値2 |
id | 1 | 2 |
name | ‘山田太郎’ | ‘佐藤花子’ |
age | 25 | 32 |
address | ‘東京都〜’ | ‘神奈川県〜’ |
created_at | now() | now() |
※now()は現在時刻を自動で入れてくれるメソッド(関数)です。
INSERT INTO test_table (id, name, age, address, created_at) VALUES (1, '山田太郎', 25, '東京都〜', now()), (2, '佐藤花子', 32, '神奈川県〜', now());
<テーブルイメージ>
データ取得
SELECT文でテーブル内のレコードを取得することができます。
SELECT カラム名 FROM テーブル名;
指定したカラムのみデータを取得できます。
address以外のカラムを指定してSELECTしてみます。
SELECT id, name, age, created_at FROM test_table;
<取得結果イメージ>
WHERE句
WHERE句を使用することで、取得したレコードの絞り込みが可能になります。
年齢が30以上のレコードだけ取得したい場合
SELECT id, name, age, created_at FROM test_table WHERE age > 30;
<取得結果イメージ>
データ更新
UPDATE文でテーブル内のレコードを更新することができる。
UPDATE テーブル名 SET カラム名 = 値;
「更新したいカラム名=更新したいデータ」でレコードを更新するが、WHERE句を付けないとテーブル内の全レコードを更新することになるので注意が必要です。
UPDATE test_table SET address = '福島県〜' WHERE id = 1;
<更新イメージ>
データ削除
DELETE文でテーブル内のデータを削除することができる。
DELETE FROM テーブル名;
UPDATE文と同様に、WHERE句を指定しないとテーブル内の全レコードを削除するので、注意が必要です。
DELETE FROM test_table WHERE id = 1;
<削除イメージ>
まとめ
データベースの基本操作を一通り開設しました。
自分で自由にテーブル作って、データ追加や更新を色々試してみてください。