SQLについての記事は今回はじめての投稿になります。
少しづつ書いていこうと思います。
基本的な用語
SQL
データベースからデータを取得するために、
クエリ(データベースに送る命令)を書くための言語。
データベース
テキストや数値などのデータを保存するためのツール。
SNSでいうところの「ログイン情報」や「投稿データ」を保存している。
テーブル
データベースは表で管理されている。
SQLでは、表のことをテーブルと呼んでいる。
カラム
テーブルの縦の列のことを示す。
レコード
テーブルの横の行のことを示す。
データの取得の基本
以下のテーブルを例に挙げて考える。
テーブル名:menue
| number | name | price | time |
|---|---|---|---|
| 1 | カレーライス | 400 | 夜 |
| 2 | オムライス | 500 | 昼 |
| 3 | コーヒー | 120 | 昼 |
| 4 | レモンサワー | 250 | 夜 |
| 5 | いちごパフェ | 450 | 昼 |
単一のカラムからデータを取得する
SELECT
「どのデータを取得するか」を カラム名で指定。
FROM
「どのテーブルのデータを取得するか」を テーブル名で指定。
この時、大文字で書いても小文字で書いてもOK
(SQLは大文字と小文字を区別しないため)
SELECT カラム名
FROM テーブル名;
SELECT name
FROM menue;
| name |
|---|
| カレーライス |
| オムライス |
| コーヒー |
| レモンサワー |
| いちごパフェ |
複数のカラムからデータを取得する
SELECT の後ろにカラム名を取得したい個数分書く。
SELECT カラム名,カラム名
FROM テーブル名;
SELECT name,price
FROM menue;
| name | price |
|---|---|
| カレーライス | 400 |
| オムライス | 500 |
| コーヒー | 120 |
| レモンサワー | 250 |
| いちごパフェ | 350 |
すべてのカラムからデータを取得する
SELECTの後ろに「*」記号を用いる。
SELECT *
FROM テーブル名;
SELECT *
FROM menue;
| number | name | price | time |
|---|---|---|---|
| 1 | カレーライス | 400 | 夜 |
| 2 | オムライス | 500 | 昼 |
| 3 | コーヒー | 120 | 昼 |
| 4 | レモンサワー | 250 | 夜 |
| 5 | いちごパフェ | 450 | 昼 |
特定のデータを取得する
WHERE
「どこのレコード(横の行)のデータを取得するか」を
「=」を用いて、「〇〇カラムが〇〇であるレコード」のように条件を指定する。
SELECT カラム名
FROM テーブル名
WHERE カラム名 = 〇〇;
上記の〇〇の部分には指定する条件であるテキストや数値、日付など様々なデータが当てはまる。
WHEREで「timeカラムが昼であるレコード」を検索する。
SELECT *
FROM menue
WHERE time = "昼";
| number | name | price | time |
|---|---|---|---|
| 2 | オムライス | 500 | 昼 |
| 3 | コーヒー | 120 | 昼 |
| 5 | いちごパフェ | 450 | 昼 |
また、WHEREの後ろに条件を指定できることから、比較演算子を用いて、データを取得することも可能。
WHEREで「priceカラムが400円以下であるデータ」を検索する。
SELECT *
FROM menue
WHERE price <= 400;
| number | name | price | time |
|---|---|---|---|
| 1 | カレーライス | 400 | 夜 |
| 3 | コーヒー | 120 | 昼 |
| 4 | レモンサワー | 250 | 夜 |