#SQL文法まとめ
##前提
前回、SQL概要と分類についてまとめました。
→SQLまとめ(分類まで)
今回はDMLの文法についてまとめます。
##おさらい
###1.SQL分類
「SQLをつかって、DBにする命令」は大きく分けて3種類。
■DML ・・・ データ操作
■DDL ・・・ データ定義
■DCL ・・・ データ制御
DDLとDCLは管理者寄りのコマンドなので、
DML > DDL > DCLの順番で覚えるのがいいかと。
###2.DMLとDDLで使うSQL文
■DML
・SELECT (取得)
・INSERT (登録)
・UPDATE (修正)
・DERETE (削除)
■DDL
・CREATE (作成)
・ALTER (修正)
・DROP (削除)
DMLのものは「SQL四大命令文」と呼ばれるほど重要です。
※または「CRUD(クラッド)」とも呼ばれる。
#1.DML
基本となる四大命令文の文法。
##1.1 SELECT文
以下が、基本の文法。
テーブルを指定し、列名を指定することで、
指定した列(カラム)の全行(レコード)のデータを取得できる。
SELECT 列名 FROM テーブル名
また、複数列の指定も可能。
SELECT 列1, 列2, FROM テーブル名
全ての列を指定したい場合は列の箇所に「*」を使えば良い。
SELECT * FROM テーブル名
##1.2 INSERT文
テーブルの指定した列に、データを追加する。
INSERT INTO テーブル名 (列名1, 列名2, ...) VALUES (値1, 値2, ...)
テーブル名の後に列名を指定しないなら、全ての列の値を入力。
↓ ※列が3つの場合の例
INSERT INTO テーブル名 VALUES (値1, 値2, 値3)
##1.3 UPDATE文
テーブルを指定し、更新したい列名に更新したい値を入れると、
その列の全行データを更新出来る。 ←※「してしまう」と言うべきでしょうか・・(^_^;)
WHERE句で特定の行を指定できる。
複数列も指定可能。
UPDATE テーブル名 SET 列名1=値1, 列名2=値2, ... (WHERE 条件式)
##1.4 DELETE文
テーブル内のデータを削除する。
WHERE句がない場合、全レコードのデータが削除されるので注意。
DELETE FROM テーブル名 (WHERE 条件式)
#WHERE句について
上記の通り、WHEREを使わない場合は
・全データを更新
・全データを削除
など、使うのに不便なので「WHERE」を使い、指定した条件に当てはまるデータだけを操作する。
つまり、条件式を設定するので結果は必ず真(true) ,偽(false)となる必要がある。
使い方は以下。
WHERE 条件式
INSERT文にはWHEREを使うことは出来ない。
#比較演算子
※注 : NULLは「=」では判定できない!
NULLであることを判定する => 式 is null
NULLでないことを判定する => 式 is not null
#論理演算子
複数条件で指定したいときに使う。
「条件A かつ 条件B] => 条件A AND 条件B
「条件A もしくは 条件B] => 条件A OR 条件B
使用例:
user_name = '山田' AND user_tel = '0300001111
#まとめ
ざっくり「SQL四大命令文」についてまとめました。
次回は「SQLの制約と指定方法まとめ 」です。
修正点があればご指摘ください(^ ^)