🥞
新卒研修で触ったクエリ文①
クエリ言語とは・・・データベースへ問い合わせする(操作)際に用いいられる言語、SQLで用いいられる際はSQL文という
処理順序
処理は単純に上から下に走ってるのではなく、決められた順序がある
- FROM
- WHERE
- GROUP BY
- HAVING
- SELECT
- ORDER BY
取得
基礎条件
SELECT *(カラム) FROM テーブル
WHERE (テーブル.)カラム1 = 期待値;
- SELECT 👉 取得したいデータのカラム
- FROM 👉 取得したいデータのテーブル
- WHERE 👉 条件をかける、同じテーブルなら条件指定の際にカラムの指定だけで済む
WHERE カラム1 IN(期待値1,期待値2);
-
IN 👉 使うことで
カラム1 = 期待値1 OR 期待値2
に当てはまっていればいいと言う意味になる
WHERE カラム1 (NOT) BETWEEN 期待値1 AND 期待値2;
-
BETWEEN,AND 👉 テーブルの
カラム1 = 期待値1 〜 期待値2
のデータを取得- NOTを前につけて
期待値1 〜 期待値2以外
のデータを取得
- NOTを前につけて
WHERE カラム1(文字列) LIKE "文字列%";
-
LIKE 👉 大文字小文字を区別しない文字列を検索する条件
- %を後方につけることで文字列が途中まで一致してるものを検索でき、部分一致にしたい時は前後につける
並び替え
ORDER BY カラム ASC(DESC)
LIMIT 4 OFFSET 5;
- ORDER BY 👉 カラムの昇降順でデータを取得
- LIMIT 👉 データをいくつまでを取得できるかを制限でき、OFFSETははじめのデータX個分をスキップし、次のデータから取得する(ここでいうなら5個分)
ORDER BY カラム1,カラム2 ASC(DESC);
- 多重ソート 👉 カラム1でソートその中で重複してるデータの中をカラム2でソートする
グループ化
GROUP BY カラム1
HAVING カラム1 = 期待値;
-
GROUP BY 👉 指定したカラムの値を基準としてグループ化することができる
- わかりやすい記事データをグループ化する(GROUP BY句)
- HAVING 👉 WHEREと一緒、WHEREとの違いはGROUP BY後に条件記述できるところ 👉 処理順序
集計関数
SELECT カラム1、SUM(カラム2) FROM テーブル
- COUNT 👉 データのレコード数を取得
- AVG 👉 データの平均を取得
- SUM 👉 データの合計を取得
- MAX 👉 データの最大値を取得
- MIN 👉 データの最小値を取得
NULL
WHERE カラム IS (NOT) NULL;
- IS NULL 👉 NULLのデータを取得
- IS NOT NULL 👉 NULL以外のデータを取得
別名変換
SELECT カラム AS 別名 FROM テーブル;
SELECT (カラム1 + カラム2) * 100 > 20 AS 別名 FROM テーブル名;
-
AS 👉 カラム名、もしくは条件を別名で扱える
- 複雑な条件結果でも楽に運用できる
編集
データの編集
INSERT INTO テーブル VALUES (値,'文字列');
- INSERT INTO 👉 データを入れたいテーブルを指定
- VALUES 👉 入れたいデータ
UPDATE テーブル SET カラム1 = 値 , カラム2 = 値・・・ WHERE (条件);
- UPDATE 👉 データを更新したいテーブルを指定
- SET 👉 更新したいデータ
DELETE FROM テーブル WHERE 条件;
- DELETE FROM 👉 テーブル内のデータを削除
テーブルの編集
CREATE TABLE テーブル(
PRIMARY KEY (id)
カラム1 データ型を指定 オプション
カラム2 INT AUTO_INCREMENT,
カラム3 VARCHAR(可変数) DEFAULT 値 NOT NULL,
- CREATE TABLE 👉 テーブルの作成
- PRIMARY KEY 👉 プライマリーキーの作成
- AUTO_INCREMENT 👉 自動で整数が入る
- DEFAULT 👉 デフォルト値指定
- NOT NULL 👉 NULL許容
DROP TABLE IF EXISTS テーブル;
- DROP TABLE IF EXISTS 👉 テーブルの削除
ALTER TABLE テーブル名 RENAME 新テーブル名;
ALTER TABLE テーブル ADD カラム データ型指定;
ALTER TABLE テーブル CHANGE カラム名 新カラム名 データ型指定;
ALTER TABLE テーブル DROP カラム;
-
ALTER TABLE 👉 テーブルへの更新宣言
- RENAME 👉 テーブル名変更
- ADD 👉 テーブルにカラム追加
- CHANGE 👉 カラム名変更
- DROP 👉 カラム名変更
Discussion