Oracle-表的操作
阿新 • • 發佈:2019-01-04
對錶的操作主要分為三種:
Oracle的資料型別:
表的重新命名:
表的刪除和回收站
Oracle如果刪除表不會真的刪除表,而是想Windows一樣,進入了回收站,可以恢復和徹底刪除
show recyclebin;//查看回收站
flashback table person to before drop;//恢復person表
purge table empnull;//刪除回收站中的表
purge recyclebin;//清空回收站
drop table person purge;//徹底刪除表,不進入回收站
修改表的結構
約束:
1、檢查性約束
create table member(
mid number,
name varchar2(50) not null,
sex varchar2(10) not null,
age number(3),
constraint pk_mid primary key(mid),
constraint ck_sex check(sex in ('男','女')),
constraint ck_age check(age between 0 and 150)
);
2、外來鍵約束:刪除主表中的資料就無法刪除
create table book(
bid number,
title varchar2(50) not null,
mid number,
constraint pk_bid primary key(bid),
constraint fk_mid foreign key(mid) references member(mid)
);
但是,此時有個缺點,就是刪除主表的記錄,要先刪除字表的記錄才可以。此時可以配置級聯刪除和置空。
如下:級聯刪除
create table book( bid number, title varchar2(50) not null, mid number, constraint pk_bid primary key(bid), constraint fk_mid foreign key(mid) references member(mid) on delete cascade --級聯刪除 );
設定為null
create table book(
bid number,
title varchar2(50) not null,
mid number,
constraint pk_bid primary key(bid),
constraint fk_mid foreign key(mid) references member(mid) on delete set null--設定為空
);
也可以不設定這些,強制刪除。
Drop table member cascade constraint purge;//不關心關係(字表的存在與否),強制刪除主表,不推薦使用