SQL基本構文:データベース操作の標準言語

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: ユーザーやロールからデータベースオブジェクトへのアクセス権限を剥奪します。

これらのコマンドを組み合わせることで、データベースの設計、データの管理、セキュリティ設定など、様々な操作を行うことができます。