ORACLE SQL

ORACLE SQL文の分類をイメージで覚えよう!

https://owl-view.com

ORACLE SQLの分類

SQLの分類は大きく分けて四種類に分かれる。データ操作言語DML、データ定義言語DDL、データ制御言語DCL、トランザクション制御である。

データ操作言語DML

DMLとはデータを操作する基本的なSQLの分類である。DMLとはData Manupulation Launguageの略である。

SQL文の中でも基礎中の基礎であるSELECT文がこのDMLに含まれる。SELECT文はデータベースから表を取り出し表示する。INSERTは新規データの挿入である。UPDATEは既存データの更新である。DELETE文は既存データの削除である。MERGEとはデータの挿入と更新を行う文である。つまりDMLの中でもMERGE文は特殊であり、INSERT文とUPDATE文が組み合わさった機能を持つ。

SELECT文

SELECT文の基本的な構文は、以下のようになる。

テーブルから列を取り出したいとする場合は以下のようなコードになる。

INSERT文

列名に値を挿入する。

 

UPDATE文

UPDATE文はデータベースに新しいデータを更新する文である。

 

SET <カラム名>=<更新後の値>

DELETE文

DELETE文はテーブル全体、もしくは削除したいフィールドを指定して削除する事も可能である。

で、表を削除する。

データ定義言語DDL

DDLはData Definition Laungageの略であり、データ定義言語と呼ばれる。データベース内の表、ビューやインデックスなどの各種オブジェクトの作成や変更をすることができるSQLである。

CREATE文

Create文は表の作成を行う事ができます。CREATE文はDDLの分類に含まれます。次のようにCREATE TABLE文を使って表の作成を行っていきます。

表を作成するにはCREATE TABLE権限が必要である。自分が所有しているスキーマ以外に表を作成するには、CREATE ANY TABLE権限が必要である。

DROP文

Drop文は表を削除する場合に使用される文である。表を削除するには、DROP TABLE文を使用する。

この文を実行するにはDROP ANY TABLE権限が必要です。

TRUNCATE文

TRUNCATE文を使用すると大量のデータが格納されている表の全てのデータを削除する事ができる

TRUNCATE文は自動コミットが実行されるので処理をロールバックすることができない。次のような文で表明のデータを消すことができる。

ALTER文

ALTER文を使用することによって、表の既存の列のデータ型、サイズ、およびデフォルト値を変更することができる。ALTER TABLE文で既存の列を変更する構文は次のようになる。

RENAME文

ALTER TABLE~RENAME文でテーブル名を変更することができる。以下の文は既に存在している表を新しい表名に変更するRENAME文である。

COMMENT文

COMMENT文を使用すると各句などに対するコメントをデータディクショナリに追加することができる

データ制御言語(DCL)

DCLとはData Control Languageの略である。GRANT文は権限の付与を行う文である。REVOKE文は権限の取り消しを行う文である。

GRANT文

ユーザー名またはロール名というユーザーのオブジェクトに対してシステム権限を与える

REVOKE文

revoke文はユーザに与えられているシステム権限やオブジェクト権限を削除する文である。以下は基本文である。

トランザクション制御

 

トランザクション制御はDMLによる変更をトランザクション単位で管理する文である。COMMIT文は処理中のトランザクションを終了しデータベース に反映させるものである。

ROLLBACK文は処理中のトランザクションを終了し、処理前の状態に戻す事である。SAVEPOINT文は長く続くトランザクションの処理を分割しマークを設定する。

COMMIT文

データなどが追加された場合COMMIT文を使用しなければ変更データの確定がされない。表にデータなどを追加した場合はCOMMIT文によって処理を確定する必要がある。

commitは以下のようなコードで実行できる。

COMMIT文を実行すると、トランザクションは終了する為、その後でROLLBACK文を実行しても、確定した処理を消すことはできない。

ROLLBACK文

一連の処理(データの追加・更新・削除)をすべて取り消し、トランザクションを終了する。以下の一文でデータ変更後COMMITされていない文を全て変更を取り消すことができる。

COMMIT文を実行するとトランザクションは終了する。その後でROLLBACK文を実行しても、確定した処理は取り消すことができない。

SAVEPOINT文

SAVEPOINTを使用することでトランザクション処理中の現在のポイントにマークをつけることができる

以下のように、セーブポイントを作成するには「SAVEPOINT セーブポイント名;」で現在のポイントにマークをつける事ができる。

 

-ORACLE, SQL
-, , , , ,

© 2021 OWLVIEW Powered by AFFINGER5