0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

こんにちは!今回は、SQLの主な種類である「データ定義言語(DDL)」「データ制御言語(DCL)」「データ操作言語(DML)」について簡潔にまとめます。SQLはデータベースを扱う上でさまざまな側面をカバーしており、用途ごとに異なる文法が用意されています。どの言語が何を担当するのかを把握することで、より適切なSQLコードを書けるようになります。

本文

SQLの主な3種類

1. データ定義言語(DDL: Data Definition Language)

データベースの構造を定義・変更・削除するためのSQLです。例えば、以下のような操作が含まれます。

  • CREATE:テーブルやビュー、インデックスなどの新規作成
  • ALTER:既存のテーブル構造(列の追加、型変更など)やビューなどの変更
  • DROP:テーブル、ビュー、インデックス、スキーマなどの削除

サンプルDDL

-- テーブルの新規作成
CREATE TABLE 顧客 (
   顧客ID INT PRIMARY KEY,
   氏名 VARCHAR(50),
   登録日 DATE
);

-- テーブル構造の変更(列追加)
ALTER TABLE 顧客
   ADD メールアドレス VARCHAR(100);

-- テーブル削除
DROP TABLE 顧客;

2. データ制御言語(DCL: Data Control Language)

トランザクション制御やアクセス権限の付与・剥奪など、データベースの制御を行うSQLです。代表的な命令は以下のとおりです。

  • COMMIT:トランザクションの終了(変更を確定)
  • ROLLBACK:トランザクションの取り消し(変更を破棄)
  • GRANT:ユーザーやロールに対して操作権限を付与
  • REVOKE:付与済みの操作権限を取り消し

サンプルDCL

-- トランザクション開始 (DBMSによっては明示的に必要な場合も)
START TRANSACTION;

-- いろいろなINSERTやUPDATE操作
COMMIT; -- ここで変更を確定

-- ユーザーU1に顧客テーブルへのSELECT権限を付与
GRANT SELECT ON 顧客 TO U1;

-- U1からSELECT権限を取り消し
REVOKE SELECT ON 顧客 FROM U1;

3. データ操作言語(DML: Data Manipulation Language)

実際にテーブル内のデータを操作するためのSQLです。参照・追加・更新・削除などが含まれます。

  • SELECT:データの参照
  • INSERT:新規データの追加
  • UPDATE:既存データの更新
  • DELETE:既存データの削除

サンプルDML

-- データの参照
SELECT 顧客ID, 氏名 FROM 顧客 WHERE 登録日 >= '2024-01-01';

-- データの追加
INSERT INTO 顧客 (顧客ID, 氏名, 登録日)
VALUES (1001, '山田太郎', '2024-01-10');

-- データの更新
UPDATE 顧客
SET メールアドレス = 'taro@example.com'
WHERE 顧客ID = 1001;

-- データの削除
DELETE FROM 顧客
WHERE 顧客ID = 1001;

その他の利用形態

SQLコマンドは、対話型で入力するほか、アプリケーションプログラムやスクリプト言語から呼び出すことが多いです。さらに、ストアドプロシージャカーソルなどを使って複数の操作をまとめ、一連の処理としてデータベース側に登録することで、パフォーマンス向上やネットワーク負荷軽減、セキュリティ強化などを実現できます。

例えば、アプリケーションがデータベースに接続し、ストアドプロシージャを呼び出して、複数のINSERTやUPDATEを一括で実行するなどがあります。

まとめ

SQLは、データベースのあらゆる操作を賄うため、主に3つのカテゴリ(DDL/DCL/DML)に分けられます。

  • DDL:データベース構造を作る・変える・壊す
  • DCL:トランザクション管理やアクセス権限を制御
  • DML:テーブル内のデータを参照・追加・更新・削除する

それぞれの特徴を理解し、使い分けることで、安全かつ効率的にデータベースを操作できるようになります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?