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 [ ]
条件を付けない場合は、すべてのテーブルレコードを削除します.
[条件]サブクエリとして使用できます
取引
ある状態から別の状態にデータを変換する論理操作ユニットのセット.
データベース・トランザクションは、次のセクションで構成されます.
commitとrollback
1つのテーブルの操作が完了した後、
commit
を使用して保存した操作を示し、保存が完了した後に、commit
を使用していない場合、rollback
を使用すると、テーブルの修正が前回のcommit
以降に戻る例を挙げると、テーブルを作成してデータを挿入し、データを挿入した後に
commit
を使用しなかった場合、テーブルの内容は変更されたが保存されず、rollback
を使用するとコンテンツが挿入されない前の状態に戻ります.つまり空の表です...テーブル操作の場合、データベースがテーブルにロックをかけたことに相当し、commitを使用するとロックが解放され、他のユーザーがテーブルを操作することができます.