SQL(DDL・DML・DCL)とは?えすきゅーえる でぃーでぃーえる・でぃーえむえる・でぃーしーえる
SQL(DDL・DML・DCL)とは、SQLの命令は役割で3つに分かれる。DDL(Data Definition Language:データ定義言語)はCREATE・ALTER・DROPなど表や索引の構造そのものを定義し、DML(Data Manipulation Language:データ操作言語)はSELECT・INSERT・UPDATE・DELETEなど表の中身を操作し、DCL(Data Control Language:データ制御言語)はGRANT・REVOKEやCOMMIT・ROLLBACKで権限とトランザクションを制御する。
最終更新:2026-10-07
高度試験の午前Iを最短で暗記する →背景
表を作る人、データを入れる人、権限を配る人は、実務では別の役割である。この分類は暗記のためのものではなく、誰にどの命令を許すかという権限設計の単位になっている。開発者にはDMLだけ許してDDLを禁じる、本番のDDLはDBA(データベース管理者)に限る、といった統制がそのまま分類に沿う。
具体例
PostgreSQLで開発者ロールに GRANT SELECT, INSERT, UPDATE ON 受注 TO dev; と与えれば、行の追加・更新はできても表の削除(DROP)はできない。権限を与えるGRANT自体がDCLにあたる。
試験での引っ掛け
SELECTは読み取りだけだが分類上はDMLに入る(DQLと呼び分ける流儀もあるが試験ではDML)。COMMIT・ROLLBACKはDCLに含めるのが試験の扱いで、TCLと呼ぶ流儀とは別。TRUNCATEは全行を消すがDDL扱いで、DELETEと違い多くのDBMSでロールバックできない点も差として問われる。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。