「SQLといえば、4大命令」ってくらいメジャーなデータベースを操作する命令があります。
それは、「SELECT、UPDATE、DELETE、INSERT」です。
命令の内容は英単語の意味の通り「選択、更新、削除、挿入」となります。
この命令ですが、言語と同じように、構文があります。つまり、「お作法がある」ということですね。例えばSELECT文であれば、「SELECT 列名 FROM テーブル名」のようなお作法が決められています。
毎日、SQLをガリガリ書いている猛者の方々はこの構文を自然と覚えていることと思いますが、たまにしか使わない、知識として覚えておきたい、このような方だといざって時に忘れてしまいがちですよね。
そこで、今回はSQLの4大命令をしっかり覚えるために、3つの流れを中心にまとめてみました!
STEP① 先ずは命令文の位置を覚えよう!
まずSELECTやUPDATEなどの命令文の位置ですが、これは簡単です!
「構文の一番最初に記述する!」
主語みたいなものですね。
SQLを学習していくと副問合せなどで、構文の中に入れ子(ネスト)方式で更にSQLを記載することがありますが、その時も副問合せなの中で命令文は一番最初に記載します。
SELECT 学生名 FROM 学籍簿 WHERE (SELECT 学生ID FROM 出席簿)
といった感じが副問合せですね。
これは4つ全てに共通なので覚えやすいですね。
STEP② テーブルの指定方法を覚えよう!
データベースにおいて操作するためのテーブル(表)が必ずあるので、SQLの中にも対象となるテーブルは必ずあります。(厳密には動作チェック用にテーブル指定無くても動く構文もあるのですが...)
このテーブルを各構文の中でどうやって指定するかを次に覚えましょう。
「これは覚えるしかない」、と言っても良いのですが、4つの命令文の中で分けるとするば、
- SELECT、DELETE:「FROM テーブル名」のようにFROMが付く
- UPDATE:テーブル名の前に何も付けない
- INSERT: 「INTO テーブル名(列名)」のようにINTOが付く
となります。
「選択、削除」は「何々から(FROM)」で「更新、挿入」は「何々を」なのでFROMでは無い、ぐらいの覚え方ですかね。(余計混乱するかも...)
STEP③ テーブル指定の前後を覚えよう!
テーブルの指定の仕方を覚えたところで、最後のテーブル指定の前後に指定する固有の部分を覚えましょう。
4つの命令文を大きく「①SELECT」、「②UPDATE、DELETE、INSERT」の二つの分類に分けられます。
SELECT文
SELECT文だけテーブル指定の「前に検索で表示したい列名」が固有で入ります。
「SELECT 列名 FROM テーブル名」
上記のような形式になります。
例)SELECT 学生名 FROM 学生簿
UPDATE文
UPDATE文はテーブル名の後に「更新する内容を固有で指定」します。
「UPDATE テーブル名 SET 列名=値」
更新のために指定する列名は複数存在しても問題ございません。
例)UPDATE 学生簿 SET 学生名 = Aさん, 連絡先=〇〇 WHERE 学生ID = 0010
DELETE分
DELETE文はテーブル名の指定の前後に必要な「固有の部分が無い」ことが特徴です。
「DELETE FROM テーブル名」
このままだとテーブルの内容全部決めてしまうので、対象行の絞り込みのための「WHERE句」などは利用します。
例)DELETE FROM 学生簿 WHERE 在籍状況 = NO
INSERT文
最後にINSERT文ですが、 テーブル名の後に「挿入する内容を固有で指定」します。
「INSERT INTO テーブル名(列名) VALUES(値)」
例)INSERT INTO 学生簿 (学生ID, 学生名, 連絡先) VALUES(0055, Dさん, △△)
全体を整理すると
ここまで各命令文の覚え方(記載する順番)を整理してきました。
表にしてみると以下のようになりますので、ご参考にしてみてください!
![](https://itmanabi.com/wp-content/uploads/2020/01/SQL-4-major.-tablepng-800x366.png)
SQLは各命令文の固有部分以外に対象行を絞り込むための「WHERE句やGROUP BY句」、検索結果を加工するための「ORDER BY句やDISTINCT句」、更には算術演算子など色々な構文を使って必要なデータ操作を行うことになりますね。
まとめ
今回はSQLの4大命令をしっかりと覚えるために整理してみました。
少しずつ構文が違うので、ごちゃごちゃにならないよう違いを理解して覚えると良いですね。
と言いながら、自分自身、SQLから暫く離れてしまうと構文曖昧になってしまう切なさがあります...(汗)
先ずはこのベースとなる部分を覚えて、 「WHERE句やGROUP BY句」 などを使って様々なデータを取り出せるようSQLの学習をしていきましょう!
以上です!