最近MySQL
にどっぷり浸かって学習しているのですが、ある程度知識のストックもできたのでアウトプットがてら、超基本的なCRUD操作のクエリについて、まとめて行きたいと思います。
目次
- CRUDについて
- Create
- Read
- Update
- Delete
CRUDについて
まず初めに、**CRUD(クラッド)**とは目次でも書きましたが、
- Create(作成)
- Read(参照)
- Update(更新)
- Delete(削除)
と言う、Webサービスなどで最も基本的な機能の事を指します。
例えばツイッターなんかでも、ツイートを作成
し、それをフォロワーなどが見る(参照)
ことができます。そして、プロフィールなどの部分を随時更新
する事ができ、不要なツイートやアカウントは削除
する事ができます。
このような基本的な機能の事を総称して生まれたのが、CRUDと言う言葉になります。次からは、このCRUD操作をMySQLのクエリでどのように行っていくのかを、説明していこうと思います。
Create
CREATE句
-- EXampleデータベースを作成。
CREATE DATABASE EXample;
-- Exampleテーブルの作成。
CREATE TABLE Example
(
id INT(10) not null auto_increment primary key,
name VARCHAR(255) not null,
age INT(3)
);
テーブルの作成について、細かい事は省きますが、括弧の中は1行につき、1カラム(縦列)の設定を行っています。表で書くとこんな感じですね。
id | name | age |
---|---|---|
INSERT句
-- Exampleテーブルにレコードを追加。
INSERT INTO Example VALUES (1, "Abe", 32);
レコード(横列)の作成(追加)。カラムの並びに応じて、カンマ区切りでデータを記述します。実行後はこんな感じですね。
id | name | age |
---|---|---|
1 | Abe | 32 |
複数行を一気にいれる場合はこちら。
-- Exampleテーブルに複数レコードを追加。
INSERT INTO Example VALUES
(2, "Ide", 37),
(3, "Hide", 21);
実行後はこんな感じです。
id | name | age |
---|---|---|
1 | Abe | 32 |
2 | Ide | 37 |
3 | Hide | 21 |
Read
SHOW句
-- データベースの一覧
SHOW DATABASES;
-- テーブルの一覧
SHOW TABLES;
-- Exampleテーブルのカラム情報一覧
SHOW COLUMNS FROM Example;
個人的にはテーブルの一覧を確認する事が多いですね。ECサイトのDBとかになるとテーブルが10個近くあったりするので、いちいち覚えてられません。(笑)
SELECT句
-- Exampleテーブルの全カラムを取得。
SELECT * FROM Example;
-- Exampleテーブルのnameカラムを取得。
SELECT name FROM Example;
-- Exampleテーブルのidカラム、nameカラムを取得。
SELECT id, name FROM Example;
最も基本的なSELECT句
の使い方です。全カラム情報の取得なんかは、よく使います。
WHERE句
-- Exampleテーブルで、ageが32の全カラムを取得。
SELECT * FROM Example WHERE age = 32;
WHERE句
は主に条件指定をする際に使用します。情報を取得する時は、条件を絞って取得することがほとんどなので、こちらは超頻出ですね。
実行して取得できるのは、こんな感じですね。
id | name | age |
---|---|---|
1 | Abe | 32 |
Update
UPDATE句
-- Exampleテーブルでageカラムを、全て50に変更。
UPDATE Example SET age = 50;
-- Exampleテーブルでidが1のageカラムを、50に変更。
UPDATE Example SET age = 50 WHERE id = 1;
使うのは下の方ですね。特定のレコードの情報を更新したい時なんかに使用。あと紹介しといてあれですが、上はほぼ使わないです。(笑)
Delete
DELETE句
-- Exampleテーブルの全レコードを削除。(テーブル自体は残る)
DELETE FROM Example;
-- Exampleテーブルの id=1 に一致したレコードを削除。
DELETE FROM Example WHERE id=1;
こちらも使うのは下の方ですね。上は実行しようとすると、逆にセーフティ設定で弾かれることがあります。
DROP句
-- Exampleテーブルをオブジェクトごと完全に削除。
DROP TABLE Example;
-- EXampleデータベースの削除。
DROP DATABASE EXample;
こちらは不要になったテーブルやデータベースを削除したい時に使いますね。ただ、一度構築して運用を始めたら、余程の事がない限りは使わないかと。
まとめ
基本的なCRUD操作は、以上の内容である程度できるかと。ただ、SELECT句
に関しては、WHERE句
以外にも使えるクエリが沢山あります。(曖昧な検索をするLIKE句
など)
気になる方は是非、本格的に学習してみてください!
最後まで読んでいただき、ありがとうございました!
筆者:yuki|学習10日目で初案件獲得→現在はフルスタックエンジニア転職に向けて学習中
Qiita:https://qiita.com/yuki4839
Twitter:https://twitter.com/yuki35522891