##データベースとは
テキストや数値などのデータを保存するためのツール。
##データベースの仕組み
データベースは表のことをテーブル、縦の列のことを「カラム」、横の行のことを「レコード」と呼ぶ。必要に応じて複数のテーブルを作成することが可能。
##クエリとは
データベースに送る命令。SQLはクエリを書くための言語。
##SELECT
どのカラムのデータを取得するか選ぶ。
-# 「name」カラムのデータを取得する。
SELECT name
##FROM
テーブルの指定。
-# 「purchases」テーブルの「name」カラムのデータを取得。最後には「;」をつける。
SELECT name
FROM purchases;
##複数のカラムのデータを取得
-# 「purchases」テーブルの「name」、「price」カラムのデータを取得。
SELECT name, price
FROM purchases;
##全てのカラムのデータの取得
-# 「purchases」テーブルの全てのカラムのデータを取得
SELECT *
FROM purchases;
##WHERE
特定のデータを取得するために使用。どこのレコードを取得するか選ぶ。
-# 「purchases」テーブルの全てのカラムのデータから、「category」が食費のものだけを取得
SELECT *
FROM purchases
WHERE category = “食費”;
なおテキストデータや日付データはクォーテーションが必要で、数値データは必要なし。
##LIKE演算子
ある文字を含むデータを取得する際に使用。また合わせて使われるのがワイルドカードで、どんな文字列にも一致することを指す記号。
-# 「purchases」テーブルの全てのカラムのデータから、nameがプリンを含むものだけを取得
SELECT *
FROM purchases
WHERE name LIKE "%プリン%";
“%プリン”でプリンで終わるnameを取得。
“プリン%”でプリンで始まるnameを取得。
##NOT演算子
条件に満たないデータの取得。
-# 「purchases」テーブルの全てのカラムのデータから、nameがプリンを含まないものだけを取得
SELECT *
FROM purchases
WHERE NOT name LIKE "%プリン%";
##NULL
データベースに何のデータも保存されていない場合「NULL」となる。
-# 「purchases」テーブルの全てのカラムのデータから、「price」が「NULL」のデータを取得
SELECT *
FROM purchases
WHERE price IS NULL;
-# 「purchases」テーブルの全てのカラムのデータから、「price」が「NULL」以外のデータを取得
SELECT *
FROM purchases
WHERE price IS NOT NULL;
##AND演算子
複数の条件を指定することができる。「WHERE 条件1 AND 条件2」のようにすることで複数の条件を満たすデータを取得することができる。
-# 「purchases」テーブルの全てのカラムのデータから、categoryが食費、尚且つcharacter_nameがコアラのデータを取得
SELECT *
FROM purchases
WHERE category = "食費"
AND character_name = “コアラ”;
##OR演算子
「WHERE 条件1 OR 条件2」とすることでどちらかの条件を満たすデータを取得することができる。
-# 「purchases」テーブルの全てのカラムのデータから、categoryが食費、若しくはcharacter_nameがコアラのデータを取得
SELECT *
FROM purchases
WHERE category = "食費"
OR character_name = “ラッコ”;
##ORDER BY
データを並び替えるのに使用。「ORDER BY 並び替えたいカラム名 並べ方」となる。並べ方ではASC(昇順)で数が小さい順に、DESCで数が大きい順になる。
-# 「purchases」テーブルの全てのカラムのデータから、priceが大きい順にデータを取得する。
SELECT *
FROM purchases
ORDER BY price DESC;
##LIMIT
最大何件取得するかを指定することができる。
-# 「purchases」テーブルの全てのカラムのデータから、5件のデータを取得
SELECT *
FROM purchases
LIMIT 5;