SQL・クエリ

SQLの基本(SELECT・INSERT・UPDATE・DELETE) えすきゅーえるのきほん

SELECTINSERTUPDATEDELETEDMLクエリ
SQLの基本(SELECT・INSERT・UPDATE・DELETE)について教えて

簡単に言うとこんな感じ!

SQLの4大操作は「CRUD」って呼ばれるDBの基本動作だよ!SELECT(読む)・INSERT(追加する)・UPDATE(更新する)・DELETE(消す)の4つで、ほとんどのDB操作はこれでできるんだ。英語に近い直感的な文法で、「どのテーブルから・どんな条件で・何をする」がそのまま書けるんだ!


SQLの基本とは

SQL(Structured Query Language)とは、リレーショナルデータベースを操作するための標準的な問い合わせ言語です。1970年代にIBMが開発し、1987年にISO標準化されました。現在もほぼすべてのRDBMS(MySQL・PostgreSQL・Oracle・SQL Server等)がSQL標準に準拠しています。

SQLのデータ操作命令をDML(Data Manipulation Language:データ操作言語)と呼び、主に4つあります。SELECT(データの読み取り)・INSERT(データの追加)・UPDATE(データの更新)・DELETE(データの削除)です。この4つは「CRUD(Create/Read/Update/Delete)」の頭文字でも表現されます。

SQLの特徴は宣言的(Declarative)である点です。「どのように取得するか」の手順ではなく「何を取得したいか」を記述します。たとえば「東京在住の顧客の名前を年齢順に取得して」という要求が、ほぼそのまま英語に近い文として記述できます。この直感的な文法がSQLの強みです。


4つの基本命令

命令CRUD役割基本構文
SELECTRead(読む)データを検索・取得SELECT カラム FROM テーブル WHERE 条件
INSERTCreate(追加)新しいデータを追加INSERT INTO テーブル (カラム) VALUES (値)
UPDATEUpdate(更新)既存データを変更UPDATE テーブル SET カラム=値 WHERE 条件
DELETEDelete(削除)データを削除DELETE FROM テーブル WHERE 条件
SQLの基本4命令コード例 SELECT — データを読む SELECT customer_id, name, email FROM customers WHERE prefecture = '東京' AND age >= 20 INSERT — データを追加 INSERT INTO customers (name, email, age) VALUES ('田中 太郎', 'tanaka@example.com', 30); UPDATE — データを更新 UPDATE customers SET email = 'new@example.com', updated_at = NOW() WHERE customer_id = 101; DELETE — データを削除 DELETE FROM customers WHERE customer_id = 101; ⚠ WHERE省略で全件削除!必ず条件を付ける UPDATE・DELETE は WHERE なしで実行すると全件が対象になる → 本番DBでは必ずトランザクションとセットで使う

歴史と背景

  • 1970年:E.F.コッドがリレーショナルモデルを発表。SQLの理論的基盤
  • 1974年:IBMがSEQUEL(後のSQL)を開発。System Rプロジェクトで実装
  • 1979年:OracleがSQL搭載のDBMSを商用リリース(世界初)
  • 1987年:ISO/IEC 9075としてSQL標準化(SQL-87)
  • 1992年:SQL-92(SQL2)が制定。現在の多くのRDBが準拠する基準
  • 1999年:SQL:1999(SQL3)。再帰クエリ・オブジェクト型などを追加
  • 2003年〜現在:SQL:2003・2008・2011・2016・2023と進化。JSONサポート・ウィンドウ関数等を追加

SELECTの主要句

役割
SELECT取得するカラムを指定SELECT name, price
FROM対象テーブルを指定FROM products
WHERE絞り込み条件WHERE price > 1000
GROUP BYグループ化GROUP BY category
HAVINGグループへの絞り込みHAVING COUNT(*) > 5
ORDER BY並び順ORDER BY price DESC
LIMIT取得件数制限LIMIT 10

関連する規格・RFC

規格・RFC番号内容
ISO/IEC 9075:1987SQL標準の原点(SQL-87)
ISO/IEC 9075:1992SQL-92。現在も最も広く実装されている標準
ISO/IEC 9075:2023最新のSQL標準。JSONサポート等を含む

関連用語