一、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
);
网友评论