プリペアドステートメントとバインド変数とは?ぷりぺあどすてーとめんととばいんどへんすう
プリペアドステートメントとバインド変数とは、SQL文の骨格をあらかじめDBMSに解析・実行計画作成させ、可変部分を「?」などのプレースホルダで残しておき、実行時に値だけを渡す仕組み。解析結果を再利用できるため性能が上がり、値がSQL文として解釈されないため注入攻撃も防げる。
最終更新:2026-10-06
応用情報を最短で暗記・合格する →具体例
ループ内で1万件を登録するとき、文字列連結で毎回違うSQL文を組み立てると1万回の構文解析と計画作成が走る。プリペアドステートメントにすれば解析は1回で済み、値だけを差し替えるので処理時間が大きく縮む。
試験での引っ掛け
値の埋め込み前にエスケープすれば同じ、ではない。プレースホルダは値の位置にしか置けず、表名・列名・ORDER BYの列指定は動的に差し替えられない。そこはホワイトリスト照合で対処する必要がある。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。