ORM等を経由せず、データベースに直接送るSQL文。プログラマが手書きするため、柔軟性が高い反面、セキュリティリスクを伴う。
「生SQL」を星図で探索する →
「生SQL」とは?意味を解説
アプリケーションからデータベースへ直接実行されるSQL文のこと。ORMやクエリビルダーなどの抽象化層を使わず、開発者が明示的に記述する。複雑なクエリや最適化が必要な場面で活躍する一方、SQLインジェクション攻撃に対する脆弱性や保守性の低下が懸念される。
例文
- 生SQLを使うときはインジェクション対策にパラメータバインディングを必ず行う。
- 複雑な集計はORMより生SQLの方が効率的な場合がある。
- 保守性を考慮し、生SQLは詳細なコメント付きで記述すべき。
語源・由来
「生」は加工・処理されていない状態を表す日本語。「SQL」のままの、抽象化層を通さないという意味で「生SQL」と呼ばれるようになった。
英語で言うと
Raw SQLNative SQLPlain SQL
「生SQL」との違いを比較する
似た言葉との違い・使い分けを解説しています。
「生SQL」をもっと知る本
この言葉やそのテーマを深めたい方へ。
語彙の星雲で「生SQL」を探索する →