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 | 夜 |