SQL(Structured Query Language)は、リレーショナルデータベースを操作するための標準的な言語です。SQLのコマンドは、大きく次の3つのカテゴリに分類されます。
1. データ操作言語 (DML: Data Manipulation Language)
データベース内のデータを操作するためのコマンドです。
SELECT: データベースからレコード(行)を検索し、取得します。検索結果を結合することも可能です。INSERT: データベースのテーブルに新しいレコードを挿入します。UPDATE: データベースの既存のレコードを更新します。DELETE: データベースのレコードを削除します。
2. データ定義言語 (DDL: Data Definition Language)
データベースの構造やオブジェクト(テーブル、ビュー、インデックスなど)を定義、変更、削除するためのコマンドです。
CREATE: データベースオブジェクト(例:CREATE TABLE,CREATE VIEW,CREATE INDEX)を新しく作成します。ALTER: 既存のデータベースオブジェクトの構造を変更します(例:ALTER TABLEで列を追加・削除・変更)。DROP: 既存のデータベースオブジェクトを削除します(例:DROP TABLE,DROP VIEW)。RENAME: データベースオブジェクトの名前を変更します。TRUNCATE: テーブルからすべてのレコードを削除しますが、テーブル構造は残します。DELETEと異なり、ロールバックができない場合が多く、高速です。
3. データ制御言語 (DCL: Data Control Language)
データベースへのアクセス権限を管理したり、トランザクションを制御したりするためのコマンドです。
COMMIT: 現在のトランザクションで行われた変更を確定し、データベースに永続的に保存します。ROLLBACK: 現在のトランザクションで行われた変更を取り消し、トランザクション開始時点の状態に戻します。SAVEPOINT: トランザクション内に一時的な保存地点を設定します。ROLLBACKをこの保存地点まで行うことができます。GRANT: ユーザーやロールにデータベースオブジェクトへのアクセス権限を付与します。REVOKE: ユーザーやロールからデータベースオブジェクトへのアクセス権限を剥奪します。
これらのコマンドを組み合わせることで、データベースの設計、データの管理、セキュリティ設定など、様々な操作を行うことができます。