3.表アクション&&トランザクション

6794 ワード

テーブルアクション


一般的なデータベース・オブジェクト


オブジェクト
説明

ローとカラムからなる基本的なデータ・ストレージ・セット.
表示
テーブルから抽出された論理的に関連するデータの集合.
シーケンス#シーケンス#
規則的な数値を提供します.
索引
クエリの効率化
同義語
オブジェクトに別名を付ける

データ型


データ型
説明
VARCHAR2(size)
可変長文字データ
CHAR(size)
ていちょうもじデータ
NUMBER(p,s)
可変長数値データ
DATE
日付型データ
LONG
可変長文字データ、最大2 Gまで
CLOB
文字データ、最大4 G
RAW (LONG RAW)
元のバイナリデータ
BLOB
バイナリデータ、最大4 Gまで
BFILE
外部ファイルのバイナリデータを格納し、最大4 Gまで
ROWID
行アドレス

テーブルの一般的な操作


作成したすべてのテーブルを生成

select table_name from user_tables;

テーブルの作成


フィールド、id、name、salary、hire_を含むtable_01のテーブルを作成します.date.
SQL> create table table_01(
  2  id number(10) not null,
  3  name varchar2(10),
  4  salary number(10,2),
  5  hire_date date
  6  );
  ```
###        
            ,   

` create table emp as (select * from employees where salary>10000);`
`desc emp;`

  :

alter修正表


表示の変更

rename [ ] to [ ]

テーブルの削除

drop table [ ]

テーブルの内容をクリア

truncate table [ ]この操作はロールバックできないが、delete from [ ]を使用した後、rollbackを使用して操作を撤回することができる.

列を1つ追加

alter table [ ] add ([ ] [ ]);

既存の列の変更

alter table [ ] modify ([ ] [ ]);

新しく追加したカラムのデフォルト値を定義します。

alter table [ ] modify ([ ] [ ] default [ ]);

列を削除

alter table [ ] drop column [ ] ;

テーブルの列の名前を変更

alter table [ ] [ ] rename column [ ] to [ ] ;

表の添削


表にデータを追加


1.直接挿入

insert into [ ](column[,column...]) values (values[,values...])例:emp 2テーブルに1行のデータを挿入する
SQL> insert into emp2 values(1,'bart',13000.89,to_date('2017-3-21','yyyy-mm-dd')
);

2.プロンプトに従ってデータを入力し、表に挿入するスクリプトを作成します。

SQL> insert into emp2(id,name,salary,hire_date) values(&id,'&name',&salary,&hire_date);
Enter value for id: 3
Enter value for name: maggie
Enter value for salary: 16000
Enter value for hire_date: to_date('2017-6-6','yyyy-mm-dd')
old   1: insert into emp2(id,name,salary,hire_date) values(&id,'&name',&salary,&
hire_date)
new   1: insert into emp2(id,name,salary,hire_date) values(3,'maggie',16000,to_d
ate('2017-6-6','yyyy-mm-dd'))

1 row created.

他のテーブルからデータをコピー


BテーブルのデータをAテーブルにコピーするinsert into [ A] select * from [ B]注意:Aテーブルが存在し、テーブル構造がBテーブルと同じであることを前提とします.

テーブルデータの更新

  • 更新update [ ] set [ ]=[ ] where [ ]
  • [更新された値]はサブクエリであってもよい
  • 注意制約によるデータ整合性エラー
  • UPDATE employees
    SET    department_id = 55
    WHERE  department_id = 110;

    エラーの原因
    UPDATE employees
           *
    ERROR at line 1:
    ORA-02291: integrity constraint (HR.EMP_DEPT_FK) violated - parent key not found
    

    なぜなら、employees対応departmentに55番という部門がないため失敗したからです.

    データの削除

    delete from [ ] where [ ]
    条件を付けない場合は、すべてのテーブルレコードを削除します.
    [条件]サブクエリとして使用できます

    取引


    ある状態から別の状態にデータを変換する論理操作ユニットのセット.
    データベース・トランザクションは、次のセクションで構成されます.
  • 1つまたは複数のDML文
  • DDL(Data Definition Language–データ定義言語)文
  • DCL(Data Control Language–データ制御言語)文
  • commitとrollback


    1つのテーブルの操作が完了した後、commitを使用して保存した操作を示し、保存が完了した後に、commitを使用していない場合、rollbackを使用すると、テーブルの修正が前回のcommit以降に戻る
    例を挙げると、テーブルを作成してデータを挿入し、データを挿入した後にcommitを使用しなかった場合、テーブルの内容は変更されたが保存されず、rollbackを使用するとコンテンツが挿入されない前の状態に戻ります.つまり空の表です...
    テーブル操作の場合、データベースがテーブルにロックをかけたことに相当し、commitを使用するとロックが解放され、他のユーザーがテーブルを操作することができます.