intro to Oracle DB 4

§8 DMLによるデータの更新

  • INSERT
    • 一行ずつ値を指定して挿入する
      INSERT INTO <テーブル名> [ (<列名> [, <列名>...])] VALUES (<値> [,<値>...])

      VALUESには挿入するデータを指定する.数値ならそのままで良いが,文字型・日付型ならシングルクォーテーションで囲む

    • SELECT文の問い合わせ結果を挿入する
      既存のテーブルから別のテーブルにデータを追加する際に用いる.

      INSERT INTO <テーブル名> SELECT <列名> [, <列名>...] FROM <テーブル名> WHERE <検索条件>
  • UPDATE
    既存の行の値を更新するのに使う

    UPDATE <テーブル名> SET <列名> = <値> [ ,<列名> = <値>... ] [WHERE <検索条件>];

    SETには挿入するデータを指定する.数値ならそのままで良いが,文字型・日付型ならシングルクォーテーションで囲む

  • DELETE
    既存の行を削除するのに使う

    DELETE FROM <テーブル名> [WHERE <検索条件>]

§9 DCLと読み取り一貫性

  • トランザクションの原子性
    トランザクションとはDMLの複数の処理を1つにまとめたもの.トランザクションに含まれる一連の処理は「全ての処理が正しく実行されるか,全く実行されるかのいずれか」となる.
    例えば,

    1. 振込元から残高を減額する
    2. 振込先から残高を加算する
      この二つの処理は不可分である.どちらかの処理しか行われないと振込処理としては不正である.このようにトランザクションの不可分な性質をトランザクションの原子性という.
  • ROLLBACK
    DMLによって実行された処理を取り消す
  • COMMIT
    DMLによって実行された処理を確定する
  • 読み取り一貫性
    あるトランザクションによって変更されたデータは,COMMITもしくはROLLBACKが実行されるまでは別のセッションではそれ以前のデータが返される.この性質を読み取り一貫性という.
    もし読み取り一貫性がなければ,データベースの変更中に別のセッションからデータベースを書き換えることを許してしまい,このことで検索結果が変わってしまう.

§10 DDLによるテーブルの作成・削除

  • CREATE TABLE
    テーブルを作成する
  • ALTER TABLE
    テーブルの構造を変更する(列の追加や削除).
    テーブルに列を追加する.

    ALTER TABLE <テーブル名> ADD ( <列名> <データ型> [ , <列名> <データ型> ...] )

    テーブルから列を削除する.

    ALTER TABLE <テーブル名> DROP ( <列名> [ , <列名> ...] )
  • DROP TABLE
    テーブルを削除する
広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中