SQL(DDL・DML・DCL)とは?
SQL(DDL・DML・DCL)とは、SQL文の分類。DDL(データ定義言語)はCREATE・ALTER・DROPなど表そのものの構造を定義・変更する文。DML(データ操作言語)はSELECT・INSERT・UPDATE・DELETEなどデータそのものを操作する文。DCL(データ制御言語)はGRANT・REVOKEなどアクセス権限やトランザクションを制御する文。
基本情報技術者試験の過去問では18回出題されています(2016年度〜2026年度)。
えすきゅーえる でぃーでぃーえる・でぃーえむえる・でぃーしーえる
SQL(DDL・DML・DCL)の意味
SQL文の分類。DDL(データ定義言語)はCREATE・ALTER・DROPなど表そのものの構造を定義・変更する文。DML(データ操作言語)はSELECT・INSERT・UPDATE・DELETEなどデータそのものを操作する文。DCL(データ制御言語)はGRANT・REVOKEなどアクセス権限やトランザクションを制御する文。
SQL(DDL・DML・DCL)の具体例
新しい表を作るCREATE TABLE文はDDL、既存の表に行を1件追加するINSERT文はDML、特定の利用者に表への参照権限を与えるGRANT文はDCLに分類される。
SQL(DDL・DML・DCL)は試験でどう引っ掛けられる?
「データを消すからDML」と短絡しないこと。TRUNCATEは行を消すが表の定義を扱うDDLに分類され、DMLのDELETEとは別物。GRANT・REVOKEはDCL、COMMIT・ROLLBACKはトランザクション制御の文で、DCLと混同しやすい。
SQL(DDL・DML・DCL)と関連する用語
SQL(DDL・DML・DCL)が出た過去問
関係代数の演算のうち,関係R,Sの直積(R×S)に対応するSELECT文はどれか。ここで,関係R,Sを表R,Sに対応させ,表R及びSにそれぞれ行の重複はないもの…
正解:SELECT * FROM R, S
要点:直積はFROMに表を並べた全組合せ。行数はm×n
直積は、2つの関係のすべての行の組合せを作り、列を連結した関係を得る演算である。SQLではFROM句に複数の表を結合条件なしで並べると各行の全組合せが得られるため、これが直積に対応する。行数はRとSの行数の積になる。
出典:平成28年度 秋期 基本情報技術者試験 午前 問28(IPA)“社員”表と“部門”表に対して,次のSQL文を実行したときの結果はどれか。 SELECT COUNT(*) FROM 社員, 部門 WHERE 社員.所属 = …
正解:3
要点:結合+条件のCOUNT(*)は条件を満たす行の組合せ数を数える
部門表でフロアが2なのは情報システム・経理・法務・購買である。社員表のうち所属がこれらに一致するのは、経理が1人、情報システムが2人で、法務と購買には所属する社員がいない。結合条件を満たす行は合計3行なのでCOUNT(*)は3となる。
出典:平成28年度 秋期 基本情報技術者試験 午前 問29(IPA)WAFの説明はどれか。
正解:Webサイトに対するアクセス内容を監視し,攻撃とみなされるパターンを検知したときに当該アクセスを遮断する。
要点:WAFはHTTPの内容を検査してWeb攻撃を遮断する
WAF(Web Application Firewall)は、Webアプリケーションへの通信内容を検査し、SQLインジェクションやクロスサイトスクリプティングなど攻撃と判断されるパターンを含むアクセスを遮断する仕組みである。通常のファイアウォールがポート単位で制御するのに対し、HTTPの中身まで見る点が特徴である。
出典:平成28年度 秋期 基本情報技術者試験 午前 問42(IPA)SQLインジェクション攻撃の説明として,適切なものはどれか。
正解:Webアプリケーションのデータ操作言語の呼出し方に不備がある場合に,攻撃者が悪意をもって構成した文字列を入力することによって,データベースのデータの不正な取得,改ざん及び削除をする攻撃
要点:SQLインジェクションは入力値でSQL文を書き換える攻撃
SQLインジェクションは、入力値をそのままSQL文に連結してしまう実装の不備を突く攻撃である。攻撃者が引用符や論理式を含む文字列を送り込むと、開発者の意図しないSQL文が組み立てられ、データの不正取得・改ざん・削除が起きる。対策としてはプレースホルダを用いた文の組立てが基本になる。
出典:平成28年度 春期 基本情報技術者試験 午前 問37(IPA)クライアントとWebサーバの間において,クライアントからWebサーバに送信されたデータを検査して,SQLインジェクションなどの攻撃を遮断するためのものはどれか。
正解:WAF
要点:WAFはHTTPの中身を検査してWeb攻撃を遮断する
WAF(Web Application Firewall)は、HTTPの通信内容そのものを検査し、攻撃に典型的なパターンを含むリクエストを遮断する。パケットヘッダしか見ない従来型ファイアウォールでは防げない、SQLインジェクションやクロスサイトスクリプティングへの対策として位置付けられる。アプリケーション改修が難しい場合の緩和策としても使われる。
出典:平成28年度 春期 基本情報技術者試験 午前 問43(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。