プリペアドステートメント 【prepared statement】

概要

プリペアドステートメント(prepared statement)とは、プログラム上で動的SQL文を生成する必要があるとき、可変部分を変数のようにしたSQL文をあらかじめ作成しておき、の挿入は処理系わせる方式。実行効率を向上させ、SQLインジェクションを防止する効果がある。

利用者入力したに基づいてデータベースに問い合わせたり操作するプログラム開発する場合、SQL文を文字列操作によって実行時動的に生成し、データベース管理システムDBMS)に送るという処理がよくわれる。

この方法では、文字列としてのSQL文を解釈して実行可能なプログラムに変換(コンパイル)する処理が毎回必要となり、効率が悪い。また、悪意のある攻撃者がSQL文の一部として解釈可能な文字列入力し、意図しない処理を実行させる「SQLインジェクション」攻撃に対して脆弱である。

プリペアドステートメントはSQL文の特定の箇所を変数のように後から変更できる状態(プレースホルダ)で記述された一種の雛形テンプレート)で、事前にコンパイルされ高速に実行できる。の挿入はSQL文の解釈とは別に言語処理系によってわれるため、入力文字列の一部を誤ってSQL文の一部として解釈する危険はない。

(2021.10.19更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる