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
: ユーザーやロールからデータベースオブジェクトへのアクセス権限を剥奪します。
これらのコマンドを組み合わせることで、データベースの設計、データの管理、セキュリティ設定など、様々な操作を行うことができます。