创建和管理表

2017-03-04  本文已影响0人  52Hz的蓝鲸

一、rowid

二、select * from tab;

drop table testdelete;---删除以后会删到oracle的回收站

show recyclebin;---查看回收站

purge recyclebin;---清空回收站

如果drop掉一个表,如何访问?-----select * from  "被删除的表在回收站的表名";   注意加引号

三、oracle中管理员没有回收站

--show user 

conn sys/password@192.168.56.101:1521/orcl as sysdba;---管理员

create table test1(tid  number); 

drop table test1;

show  recyclebin;  回收站为空

-------如何把表从回收站中取出来?“闪回”

----drop table 不能回滚,但是可以闪回

四、约束

约束是表一级的限制

如果存在依赖关系,约束可以防止错误的删除数据

约束的类型:not null ; unique;  primary key ; foreign key ; check

例子:

create table test3

(tid number,

tname varchar2(20),

gender varchar2(2)  check (gender in ('男','女')),

sal number check (sal<0)

);

通过主键查最快,因为unique是唯一性的索引

foreign key:在字表中,定义了一个表级的约束

references:指定表和父表中的列

on delete cascade:当删除父表时,级联删除字表记录

on delete set null:将字表的相关依赖记录的外键值置为null----一般用这个,数据不易丢失

create table student 

(

sid number constraint student_PK primary key,

sname varchar2(20) constraint student_name_notnull not null,

gender varchar2(2) constriaint student_gender_cheek (gender in ('男','女')),

email varchar2(20) constriaint student_email_unique unique 

                               constriaint student_email_notnull  not null,

deptno  number  constraint  student_fk references dept(deptno) on delete set null

);

上一篇下一篇

猜你喜欢

热点阅读