【SQL】『スッキリわかるSQL入門』1〜3章の読書メモ
【結論】
- 『スッキリわかるSQL入門』の1〜3章の要点をまとめた。
【目次】
基本文法
コメント
--
もしくは/* */
で記述します。
SELECT * FROM 俺のスキル; -- 「俺のスキル」テーブルの内容を全て出力 /* 「俺のスキル」テーブルから、 スキル名と経験年数を出力する。 */ SELECT スキル名, 経験年数 FROM 俺のスキル;
命令文
1命令の終了は;
で表すため、途中で改行や半角の空白を入れても問題ないです。
以下の例1、2の実行結果は同じになります。
-- 例1 SELECT 費目, 出金学 FROM 家計簿 WHERE 出金学 > 3000; -- 例2 SELECT 費目, 出金学 FROM 家計簿 WHERE 出金学 > 3000;
4大命令
4大命令は検索/更新
と既存/新規
の2つの方法で分類できます。
命令文(用途) | 検索/更新 | 既存/新規 |
---|---|---|
SELECT(検索) | 検索 | 既存 |
UPDATE(更新) | 更新 | 既存 |
DELETE(削除) | 更新 | 既存 |
INSER(追加) | 更新 | 新規 |
SELECT文
SELECT 列名1,列名2,列名3 AS 別名 FROM テーブル名 (WHER修飾) (その他の修飾)
※AS
を使うことで、実行結果の列名(FROMに書けばテーブル名)を変更できます。
UPDATE文
UPDATE テーブル名 SET 列名1 = 値1, 列名2 = 値2... (WHER修飾)
※WHER指定がないと全件更新になってしまうので注意が必要です。
DELETE文
DELETE FROM テーブル名 (WHER修飾)
※WHER指定がないと全件削除になってしまうので注意が必要です。
INSERT INTO文
INSERT INTO テーブル名 (列名1, 列名2, 列名3...) VALUES (値1, 値2, 値3...)
※全列に値を追加する場合は、列名の指定を省略可能です。
WHER句で使用する演算子
基本比較演算子
JavaやCとほとんど同じで、=
、<
、>
、<=
、>=
、<>(Javaだと!=)
があります。
論理演算子
複数の条件を組み合わせて条件式を作る際に使用する演算子です。
以下のサイトを見ると、MySQLではAND
(もしくは&&
)、OR
(もしくは||
)、XOR
、NOT
(もしくは!
)が利用できるようです。
https://www.dbonline.jp/mysql/ini/index8.html#section4
NULL判定
NULLはデータが空であること表し、次のように記述します。
NULLであることを判定する場合→
列名 IS NULL
NULLでないことを判定する場合→
列名 IS NOT NULL
LIKE演算子
文字列をパターンマッチ(要は正規表現)で比較したい時に使用します。
-- 構文 式 LIKE パターン文字列
動作検証はしていないですが、下表の正規表現が使えるはずです。
http://gimite.net/help/devas-ja/all_regex.html
IN・NOT IN演算子
複数の値と比較する場合に使用します。
構文は以下になります。
式 IN (値1, 値2, 値3...) 式 NOT IN (値1, 値2, 値3...)
IN
演算子は式が値1,2,3のいずれかと合致する時にTRUEを返します。
NOT IN
演算子は式が値1,2,3のいずれとも合致しない時にTRUEを返します。
ANY・ALL演算子
複数の値との比較を一度に行いたい時に使用します。
式 基本比較演算子 ANY (値1, 値2, 値3...) 式 基本比較演算子 ALL (値1, 値2, 値3...)
ANY
演算子は値1,2,3それぞれと比較して、いずれかがTRUEならTRUEを返します。
ALL
演算子は値1,2,3それぞれと比較して、すべてTRUEならTRUEを返します。
参考情報
最後に
復習用のノートとしてブログを活用していくスタイルです。