SQL
リレーショナルデータベースを操作するための言語。データの問い合わせと更新を担う
SQL とは
SQL (Structured Query Language) は、リレーショナルデータベースを操作するための言語だ。表 (テーブル) の形で整理されたデータに対し、「条件に合うデータを取り出す」「新しいデータを追加する」「既存のデータを更新・削除する」といった操作を、宣言的に記述する。多くのデータベース製品が共通して採用しており、データを扱う仕事の基礎技術になっている。
基本的な操作
| 命令 | 役割 |
|---|---|
| SELECT | データを取り出す (問い合わせ) |
| INSERT | データを追加する |
| UPDATE | データを更新する |
| DELETE | データを削除する |
中でも SELECT は使用頻度が高く、条件指定・並べ替え・集計・複数テーブルの結合など、奥が深い。
宣言的であること
SQL の特徴は「どう処理するか」ではなく「何が欲しいか」を書く宣言的な言語である点だ。例えば「売上が 1 万円以上の注文を金額順に並べて」と要求を書けば、実際の探索手順はデータベースが最適化して実行する。プログラマは手順ではなく目的に集中できる。
実務での注意点
SQL は強力なぶん、書き方次第で性能が大きく変わる。大量データに対して非効率なクエリを書くと、処理に長時間かかったりシステムを止めたりする。インデックス (索引) の活用や、結合・集計の書き方が性能を左右する。また、外部入力をそのまま SQL に埋め込むと「SQL インジェクション」という深刻な脆弱性を生むため、入力値を安全に扱う書き方 (プレースホルダの利用) が必須になる。UPDATE や DELETE は条件指定を誤ると大量データを一括で壊すため、実行前の確認も欠かせない。
学習には関連書籍が役立つ。
この記事は役に立ちましたか?
関連用語
関連する記事
データベース本ガイド - SQL から設計まで学べる技術書の選び方
データベースの基礎から設計、パフォーマンスチューニングまで学べる技術書の選び方と学習順序を紹介します。
本についてくるダウンロード素材を使い倒す
プログラミングの本には、サンプルコードや素材のダウンロード特典がついていることがあります。この特典を活用するだけで、学習効率が大きく変わります。
機械学習・AI 本ガイド - エンジニアが読むべき技術書の選び方
機械学習の基礎から実践まで学べる技術書の選び方を紹介。「Python ではじめる機械学習」などのハンズオン本を軸に、数学が苦手な人向けの学習ルートと ML 本の賞味期限の見極め方を解説します。