自分用にProgateで学んだSQLの基礎知識をまとめたものです。
※他の人にみられるようにみやすく作られておりませんため閲覧する場合はご容赦ください。
◆テーブル…「表」のこと
◆カラム…「縦の列」のこと
◆レコード…「横の列」のこと
◆クエリ…データベースに送る命令
SELECT
◆どのカラムのデータを取得するかを選ぶ
SELECT name(カラム名)
FROM
◆SELECTで選んだカラムが「どのテーブル」のカラムかを指しているもの
SELECT name(カラム名) FROM purchases;(どのテーブルの?)
複数のカラムからデータを取得
◆下記のようにカラム名をコンマ(,)で区切ります。
SELECT name,price
全てのカラムからデータを取得する
◆全カラムを取得する場合は「*」の記号を用います。
WHERE(検索条件)
◆特定のデータを取得するには、
「どこのレコード(横の列)を取得するか」という意味を持つ
「WHERE」を用います。
使用例①:「=」
◆どこのレコードのデータを取得するかを指定するためには
「=」を用いて「○○カラムの○○であるレコード」と
いった意味になるように条件を指定します。
◆「=」は完全一致するものしか取得しないので注意
WHERE category = "食費"(categoryカラムが食費であるレコード)
※食費の様なテキストはクォーテーションで囲む必要がある。
使用例②:「>=(比較演算子)」
◆比較演算子よばれる、大小比較の記号を用いることで
「priceカラムが1000以上であるレコード」を取得することが可能。
SELECT * FROM purchases WHERE
◆数値データ以外にも「日付データ」にも比較演算子を使うことも可能です。
使用例③:LIKE(キーワード検索)
◆「ある文字を含むデータ」を取得したい場合は、
「~のような」という意味を持つ「LIKE演算子」を用います。
◆LIKE演算子を用いるために使用必要があるのは「ワイルドカード」です。
ワイルドカードとは「どんな文字列にも一致することを指す記号」です。
必ずクォーテーションで囲むこと。
SELECT * FROM purchases WHERE name LIKE "%文字列%";
◆”プリン%”(プリンで始まる文字列を検索:前方一致)
◆”%プリン”(プリンで終わる文字列を検索:後方一致)
使用例④:NOT(指定した以外のものを検索)
◆「〇〇を満たさないデータ」や「〇〇に一致しないデータ」
を取得することができる
SELECT * FROM purchases WHERE NOT price > 1000; (priceカラムの1000円未満以外のデータを取得)
SELECT * FROM purchases WHERE NOT name LIKE “%1000”%; (nameカラムの「プリン」以外のデータを取得)
データ型
◆「データ型」とはテキストや数値データ、日付データというような
「データの種類」を示すものです。
◆データベースではカラムごとにデータ型を決めます。
クォーテーションで囲む、囲まないデータ型
◆数値データ:囲まない…1000
◆日付データ:囲む…”2019-11-04”
◆テキスト:囲む…"にんじん"