データベース言語(SQL)
更新日:
用語解説
SQLは、関係データベースで、表や制約の定義、データの検索・追加・更新・削除、権限の設定を行うための言語です。用途によって、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)に分けられます。
■ 試験で押さえるポイント
DDLには、表を作るCREATE、変更するALTER、削除するDROPがあります。
DMLには、検索のSELECT、追加のINSERT、更新のUPDATE、削除のDELETEがあります。
DCLには、権限を与えるGRANT、取り消すREVOKE、トランザクションを確定するCOMMITなどがあります。
Webアプリケーションで入力値をSQL文に直接つなげると、SQLインジェクションの原因になります。プレースホルダ(バインド機構)を使って防ぎます。
分類 | 目的 | 主な命令 |
|---|---|---|
DDL(データ定義言語) | 表やビューの定義 | CREATE、ALTER、DROP |
DML(データ操作言語) | データの検索・更新 | SELECT、INSERT、UPDATE、DELETE |
DCL(データ制御言語) | 権限やトランザクションの制御 | GRANT、REVOKE、COMMIT、ROLLBACK |
■ 過去問での着眼点
SQLインジェクションの根本的な対策は、プレースホルダでSQL文の構造と入力値を分けることです。入力値の文字数制限などは補助的な対策です。