COL: CSS:



SQL でのデータ管理

SQL でのデータ管理データロード (1)データロード (2)整合性制約

SQL

データ操作言語 (DML (Data Manipulation Language)) に属する SQL 文を利用し,Oracle Database のデータを操作することができる。

データ操作を行う SQL 文は以下の通り。
(詳しくは Bronze 対応の参考書やネットドキュメントをご参照ください)

SELECT 文
データの問い合わせを行う。
SELECT 列名                ← 抽出する列名
  FROM 表名                ← 抽出対象の表名
[WHERE 抽出条件]           ← 抽出する条件式
  :
INSERT 文
データの新規追加を行う。
INSERT INTO 表名 [ (列名 [, …]) ]   ← 追加対象の表 (と列)
     VALUES        (  値 [, …]);
      └← 列名を定義した場合,INSERT INTO の列数と VALUES の列数は同一にする
UPDATE 文
データの更新を行う。
UPDATE 表名                ← 更新対象の表
   SET   列名 = 値         ← 更新対象の列
      [, 列名 = 値, …]
 WHERE 抽出条件;           ← 抽出した行全てを SET で更新
DELETE 文
データを削除する。
DELETE FROM 表名           ← 削除対象の表
    [ WHERE 抽出条件 ];    ← 抽出した行全てを削除する

トランザクション

トランザクションとは,「読み取り一貫性」を保証する処理のことである。

DML 文を発行してデータに対し追加 / 更新 / 削除操作を行うとトランザクションが開始し,変更後の値 (や追加行) は別のユーザから確認することはできない。また,変更された行に対し別のユーザが変更を加えようとしても,現行のトランザクションが終了するまで待機状態になる

現行のトランザクションを終了させるには,トランザクションを開始したユーザ (最初に DML 文を発行したユーザ) が以下のコマンドをを実行する必要がある。

表1: トランザクションの終了処理を行うコマンド
コマンド名詳細
COMMITDML 文によって変更された値 (や追加行) を確定する。
ROLLBACKDML 文によって変更された値 (や追加行) を取り消し,変更前の状態に戻す。