SQLとは、関係データベース管理システム(RDBMS)において、データの定義や操作を行うための言語である。

SQLは次に示す3つに大別される。

SQLでは、ステートメントやデータベースオブジェクト名の大文字と小文字を区別しない。たとえば、次に示す2つのSQLは同じである。

SELECT * FROM EMP
select * from emp

データ定義言語(DDL)

データ定義言語(DDL: Data Definition Language)とは、データベースオブジェクトの作成、変更又は削除を行うSQL文である。DDLによるデータベースの操作は即座に確定し、ロールバック(操作の取消し)することはできない。

Oracle DatabaseのDDL一覧
カテゴリ SQL文 説明
テーブル(表) CREATE TABLE テーブルを作成する。
ALTER TABLE テーブルを変更する。
DROP TABLE テーブルを削除する。
TRUNCATE TABLE 表のデータをすべて削除する。
データベースリンク CREATE DATABASE LINK データベースリンクを作成する。
ALTER DATABASE LINK データベースリンクを変更する。
DROP DATABASE LINK データベースリンクを削除する。
ビュー CREATE VIEW ビューを作成する。
ALTER VIEW ビューを変更する。
DROP VIEW ビューを削除する。
マテリアライズド・ビュー CREATE MATERIALIZED VIEW マテリアライズド・ビューを作成する。
DROP MATERIALIZED VIEW マテリアライズド・ビューを削除する。
ALTER MATERIALIZED VIEW マテリアライズド・ビューを変更する。
パッケージ CREATE PACKAGE パッケージ仕様部を作成する。
CREATE PACKAGE BODY パッケージ本体を作成する。
ALTER PACKAGE パッケージを変更する。
DROP PACKAGE パッケージを削除する。
プロシージャ CREATE PROCEDURE プロシージャを作成する。
ALTER PROCEDURE プロシージャを変更する
DROP PROCEDURE プロシージャを削除する。
ファンクション CREATE FUNCTION ファンクションを作成する。
DROP FUNCTION ファンクションを削除する。
ALTER FUNCTION ファンクションを変更する。
シノニム CREATE SYNONYM シノニムを作成する。
ALTER SYNONYM シノニムを変更する。
DROP SYNONYM シノニムを削除する。
表領域 CREATE TABLESPACE 表領域を作成する。
ALTER TABLESPACE 表領域を変更する。
DROP TABLESPACE 表領域を削除する。
インデックス CREATE INDEX インデックス(索引)を作成する。
ALTER INDEX 索引を変更する。
DROP INDEX 索引を削除する。
ロール CREATE ROLE ロールを作成する。
ALTER ROLE ロールを変更する。
DROP ROLE ロールを削除する。
シーケンス CREATE SEQUENCE シーケンスを作成する。
ALTER SEQUENCE シーケンスを変更する。
DROP SEQUENCE シーケンスを削除する。
ユーザ CREATE USER ユーザを作成する。
ALTER USER ユーザを変更する。
DROP USER ユーザを削除する。
ディレクトリ CREATE DIRECTORY ディレクトリを作成する。
DROP DIRECTORY ディレクトリ・オブジェクトを削除する。
権限 GRANT 権限を付与する。
REVOKE 権限を剥奪する。
ライブラリ CREATE LIBRARY 外部プロシージャ・ライブラリを作成する。
ALTER LIBRARY 外部プロシージャ・ライブラリを変更する。
DROP LIBRARY 外部プロシージャ・ライブラリを削除する。
その他 COMMENT コメントを付ける。

データ操作言語(DML)

データ操作言語(DML: Data Manipulation Language)とは、レコードの挿入、更新又は削除を行うSQL文である。

データ操作言語(DML)によるデータベースの操作は、トランザクションのコミットが行われることで確定される。トランザクションのコミットが行われていなければ、データ操作言語(DML)によるデータベースの操作は、トランザクションのロールバックを行うことで操作を取り消すことができる。

Oracle DatabaseのDML一覧
SQL文 説明
SELECT 選択する。
INSERT テーブルに行を挿入する。
UPDATE 行を更新する。
DELETE 行を削除する。
MERGE 行を挿入または更新する。
CALL プロシージャファンクションを呼び出す。
EXPLAIN PLAN 実行計画を表示する。

データ制御言語(DCL)

データ制御言語(DCL: Data Control Language)とは、トランザクション、セッション又はシステムの制御を行うSQL文である。

Oracle DatabaseのDCL一覧
SQL文 説明
ALTER DATABASE データベースを変更する。
ALTER SESSION セッションパラメータを変更する。
ALTER SYSTEM システムプロパティを変更する。
COMMIT コミットする。
ROLLBACK ロールバックする。