一回目の記事の更新ということで、今回のテーマはデータベースである。SQL(Structured Query Language)は、リレーショナルデータベースを操作するための標準的な言語だ。データの検索・追加・更新・削除といった操作を行うために使われ、多くのWebサービスや業務システムの基盤技術となっている。
本記事では私が、授業を通して得た、SQLの基本構文について紹介する。
私は木曜1限のデータベースの講義の中で紹介された、paizaラーニングを使ってSQLの基本を動画で学習した。paizaラーニングではMySQLというSQLのソフトを用いて、SQLを勉強した。ここでは、MySQLを使って、基本構文SELECT文、WHERE句の使い方をOUTPUTしていく。
まず始めに基本中の基本SELECT文について解説する。SELECT文の使い方は、
SELECT カラム名 FROM テーブル名;
である。ここで、用語について説明すると、カラム名とは表の品目名を表す。例えば、name,price,amountなどといったものを示す。テーブル名は表の名前である。この文を使えば、テーブルから特定のカラムだけを取り出すことができる。ここでポイントなのだが、SELECT文では、カラム名によく*を使う。ここの*の意味は、「テーブルにあるカラム」を表す。*を使えばテーブルのすべてのカラムを取り出すことができるのでよく使う。ちなみに、SQLは大文字と小文字を区別しないので、小文字を使うことも可能である。
次はWHERE句の使い方である。WHEREはテーブルからカラムを選ぶ時の条件を書くために使う構文である。使い方は
SELECT カラム名 FROM テーブル名 WHERE 条件;
である。WHEREを使うときのポイントは、条件式をいかにして書くかということである。ここではよく使う比較演算子を例文とともに紹介する。
AND:SELECT * FROM users WHERE age >= 18 AND gender = 'male';(両方を満たす)
OR:SELECT * FROM users WHERE age < 18 OR age > 60;(どちらかを満たす)
LIKE:SELECT * FROM users WHERE name LIKE 'A%';(Aから始まるもの)
BETWEEN:SELECT * FROM users WHERE age BETWEEN 20 AND 30;(20から30まで)
IN:SELECT * FROM users WHERE age IN (20, 25, 30);(20,25,30の値)
NULL判定:SELECT * FROM users WHERE email IS NULL;(NULLを選ぶ)
ANDとORは一般的な比較演算子の使い方と同じである。複数の条件を指定したいときに使う。LIKEはこの文字列が入っているかどうかを調べるときに使う。%AならAで終わるもの。%A%ならAが入っているものを示す。BETWEENは範囲を指定するもので、ANDで書き換えができる。INは特定の値を複数個選びたいときに、WHEREを連ねなくて便利である。NULL判定は少し厄介で、WHERE email NULL;のように、ISを抜かすとうまくいかない。IS NULLにすることが大切である。
SELECT文とWHERE句はSQLの基本中の基本である。
- SELECT = 何を表示するか
- WHERE = どれを選ぶか
この2つの役割を理解するだけで、SQLの読み方が一気に楽になる。
今回の記事ではSELECT文とWHERE句の使い方を紹介したがSQLにはもっと操作がある。随時更新していきたい。
- コメントを投稿するにはログインしてください