SQLコマンドの分類方法を簡単確実に覚える

SQLコマンドの分類方法を覚えるのは大変です。
Oracleの試験では騙すように出てくるので注意が必要です。

データ操作言語(DML)

SELECT, INSERT, UPDATE, DELETEなどの一般的に使うSQL文です。
アプリケーション開発者は、たいてい、これしか使いませんね。
注意としては、あまり使わないMERGEというのもDMLの仲間になります。
MERGEはUPDATEとINSERTを組み合わせたものだそうです。

データ制御言語(DCL)

早速、意味不明なカテゴリが出てきました。
これは、アクセス権限周りのことを「データ制御」と呼ぶそうです。
GRANT, REVOKEが含まれます。
逆に2種類しかないので、覚えやすいですね。

トランザクション

トランザクション周りのCOMMIT, ROLLBACK, SAVEPOINTが含まれます。
これも3種類なので、覚えておきましょう。

データ定義言語(DDL)

先の3項目に含まれないものはすべてDDLになります。
滅茶苦茶、覚えにくいので、消去法の覚え方をした方がいいです。
DDLは「覚えちゃダメダメ子」と覚えておきましょう。なんだそれ??

ちなみに、オブジェクトを作ったり消したりする文が主です。
普通のアプリケーションでは使わない処理ですね。DBAが使うイメージ?
CREATEとかDROPとかですね。ALTERも含まれるんだった。ややこしい。
RENAMEやTRUNCATEもDDLになります!

ちなみに、DDL実行時には自動コミットが実行されます。
ALTER TABLE文は排他処理する必要があります。つまり、他のトランザクションの処理が終わるまで実行することができない点にも、注意が必要です。

システム開発

Posted by @erestage