SQLとは、関係データベース管理システム(RDBMS)において、データの定義や操作を行うための言語である。
SQLは次に示す3つに大別される。
SQLでは、ステートメントやデータベースオブジェクト名の大文字と小文字を区別しない。たとえば、次に示す2つのSQLは同じである。
SELECT * FROM EMP
select * from emp
データ定義言語(DDL: Data Definition Language)とは、データベースオブジェクトの作成、変更又は削除を行うSQL文である。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: Data Manipulation Language)とは、レコードの挿入、更新又は削除を行うSQL文である。
データ操作言語(DML)によるデータベースの操作は、トランザクションのコミットが行われることで確定される。トランザクションのコミットが行われていなければ、データ操作言語(DML)によるデータベースの操作は、トランザクションのロールバックを行うことで操作を取り消すことができる。
SQL文 | 説明 |
---|---|
SELECT | 選択する。 |
INSERT | テーブルに行を挿入する。 |
UPDATE | 行を更新する。 |
DELETE | 行を削除する。 |
MERGE | 行を挿入または更新する。 |
CALL | プロシージャやファンクションを呼び出す。 |
EXPLAIN PLAN | 実行計画を表示する。 |
データ制御言語(DCL: Data Control Language)とは、トランザクション、セッション又はシステムの制御を行うSQL文である。
SQL文 | 説明 |
---|---|
ALTER DATABASE | データベースを変更する。 |
ALTER SESSION | セッションパラメータを変更する。 |
ALTER SYSTEM | システムプロパティを変更する。 |
COMMIT | コミットする。 |
ROLLBACK | ロールバックする。 |