orcl建立表及管理表

2022-04-21 10:46:19 字數 3747 閱讀 8920

常用的字段資料型別:

.字串(varchar2(n)) n表示儲存最大長度,基本200作用。

.整數(number(n)) n位的整數,也可用int代替

.小數(number(n,m)) m為小數字,n-m為整數字,有時候用float代替

.日期(date) 存放日期

.大文字(clob) 儲存海量文字(4g)

.大物件(blob) 存放二進位制資料,電影,,文字,***

1、建立表:

create table 表名稱 (欄位1 資料型別[default 預設值][primary key],...) 

create table bqh3 (name varchar2(20) not null, sfz number(18) ,dz varchar2(30),constraint pk_sfz primary key (sfz));

2、表資料及表的複製:

cerate table bqh (select * from 已知表)----從已知表中只複製資料

create table bqh as selec * from 已知表; -----從已知表中複製資料和表結構

create table bqh as select  欄位1,欄位2 from 已知表 where 1=2;----從已知表複製指定字段包含資料

create table bqh as select * from 已知表 where 1=2; ----從已知表中複製結構但不包含表資料

3、插入資料:

insert into 表名 [(欄位1,欄位2)] values (值1,值2)----欄位與列一一對應

insert into bqh (name,sfz,dz) values ('小白',130684,'xx區1幢');

insert into 表名 values 所有列的值;--------可以省略字段

insert into bqh  values ('小白',130684,'xx區1幢');

4、更新資料:

update 表 set 列=新的值 ----更新所有的資料

update bqh set sfz=130636

update 表 set 列=新的值 [where 條件] -----更新滿足條件的資料

update bqh set sfz=130636 where name='小白'

select * from 表 for update   ----手動更新的資料

select * from bqh  for update

select * from 表 for update where 條件

select * from bqh  for update where sfz=130636  -----手動更新滿足條件的資料

5、刪除資料:

delete from 表名稱 [where 刪除條件...]

delete from 表名 where 條件 -----刪除滿足條件的資料

delete from bqh where sfz=130636;

delete frombqh ----刪除所有資料

commit; 

rollback; 

檢視**站:show recyclebin

恢復表:flashback table 表名稱 to before drop

例如:flashback table bqh to before drop

恢復表資料:rollback

例如:delete from bqh;

rollback;

注意:

①事物的回滾:rollback 更新操作回到原點。

②事物的提交:commit 真正的更新,一旦提交無法回滾。

6、修改表結構:

alter table 表名稱 add (列名稱 資料型別 [default 預設值,...]) -----增加表字段

alter table bqh add (jf number(3) default 20)

alter table bqh modify (zf number(2) default 10) ------修改表字段

alter table bqh drop zf --------刪除表字段

7、新增約束:

非空約束:not null不希望某字段為空

create table bqh (xh number,xm varcher2(20) not null)

唯一約束:unique 不希望某字段有重複值

create table bqh (xh number,xm varcher2(20) not null,email varchar2(50) unique)

create table bqh (xh number,xm varcher2(20) not null,email varchar2(50),constraint uk_email unique(email))

主鍵約束:primary key 非空約束+唯一約束例,如身份證

create table bqh (xm varcher2(20) not null,sfz number,constraint pk_sfz primary key (sfz))

檢查約束:為某資料增加過濾條件,例如:年齡範圍,性別等

create table bqh (xm varcher2(20) not null,xb varcher2(10) not null,age number(3),constraint ck_xb check (xb in ('男','女')),constraint ck_age check (age between 0 and 150))

外來鍵約束:約束在兩張(父子)表中進行,即字表某個欄位的取值由父表決定。

例如:每個人有多本書,父表(人),子表(書)

create table xm (bh number,name varchar2(20) not null,constraint pk_bh primary key (bh))

create table book (bookname varchar2(20) not null,bh number,constraint fk_bh foreign key(bh) references xm(bh))

刪除資料時,如果主表中的資料有對應子表資料,應先刪除子表記錄,再刪主表記錄。但操作不方便,即可以建立外來鍵約束的時候指定乙個級聯刪除功能,當刪除主表資料後,對應的子表中的資料相關聯的資料希望將其設定為空。

create table xm (bh number,name varchar2(20) not null,constraint pk_bh primary key (bh))

create table book (bookname varchar2(20) not null,bh number,constraint fk_bh foreign key(bh) references xm(bh)on delete set null)

8、修改約束:

為表增加約束

alter table 表名 add constraint 約束名稱 約束型別(字段)

刪除表中的約束

alter table 表名 drop constraint 約束名稱

9、刪除表:

drop table 表

drop table xm cascade constraint purge;  --------強制性刪除表,不關心約束條件

drop table book cascade constraint purge; --------強制性刪除表,不關心約束條件

建立和管理表

建立和管理表 常用的資料字典表有 user tables,user objects,user catalog 目錄 例子 create table dept30 as select empno,ename,sal 12 annual,hiredate from emp where deptno 30...

建立和管理表

建立和管理表 一 建立表 1 直接建立 create table buff goob varchar2 5 kplid number 5 dwes varchar2 5 2 通過子查詢的方式建立 create table buff asselect last name employee id fro...

頁表管理及多級頁表

頁表說需空間大小計算 32 位位址空間 4kb 的頁大小 頁表的每項大小為 4byte。位位址空間 4kb 的頁大小 頁表的每項大小為 4b。多級分頁 32 位執行模式情形 級分頁 對 4kb 的頁大小 因為每頁pgd 的pt項為 kb 4b 2 10條 實際4g 32 2 12 2 10 2 10...