WEB开发网
开发学院数据库Oracle Oracle 10g数据库基础之基本DDL和DML语句 阅读

Oracle 10g数据库基础之基本DDL和DML语句

 2012-05-20 08:04:26 来源:WEB开发网   
核心提示:显示回收站的信息(在oracle服务器上,不要使用客户端)SQL> show recyclebin;ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME -- ---T2 BIN$uHlWiyacnb/gQKjAWGURmg==$0 TABLE 2
显示回收站的信息(oracle服务器上,不要使用客户端)

SQL> show recyclebin;
ORIGINAL NAME  RECYCLEBIN NAME     OBJECT TYPE  DROP TIME

---------------- ------------------------------ ------------ -------------------

T2      BIN$uHlWiyacnb/gQKjAWGURmg==$0 TABLE       2012-05-18:15:01:42

SQL> SELECT * FROM USER_RECYCLEBIN;
 
OBJECT_NAME           ORIGINAL_NAME        OPERATION

------------------------------ -------------------------------- ---------

TYPE            TS_NAME           CREATETIME

------------------------- ------------------------------ -------------------

DROPTIME        DROPSCN PARTITION_NAME        CAN CAN
------------------- ---------- -------------------------------- --- ---

  RELATED BASE_OBJECT PURGE_OBJECT SPACE

---------- ----------- ------------ ----------
BIN$uHlWiyacnb/gQKjAWGURmg==$0 T2             DROP
TABLE          USERS           2012-05-18:15:01:11
2012-05-18:15:01:42  493680                YES YES

    52504 52504      52504       8

将回收站的表还原
SQL> FLASHBACK TABLE t2 TO BEFORE DROP;
 
Flashback complete.

还原表的同时修改表的名称。

FLASHBACK TABLE T2 TO BEFORE DROP RENAME TO TT2;
清空回收站内指定的表
PURGE TABLE T2;

清除当前用户的回收站,不会影响其它用户的回收站

PURGE RECYCLEBIN;

绕过回收站,彻底的删除表,在10G前是没有回收站的,就是彻底的删除。回收站内没有的表是不容易恢复的,我只能取备份来恢复了。

Drop table t2 PURGE;
SQL> show recyclebin;
SQL> drop table t3;
Table dropped.
SQL> show recyclebin;
ORIGINAL NAME  RECYCLEBIN NAME     OBJECT TYPE  DROP TIME

---------------- ------------------------------ ------------ -------------------

T3      BIN$wEsyWUQxfzngQKjAWGUZqg==$0 TABLE      2012-05-18:15:06:51

SQL> PURGE RECYCLEBIN;
Recyclebin purged.
SQL> show recyclebin;
SQL>
知识点

建立表

修改表

注释表

改名称

丢弃表

恢复丢弃的表

初步认识数据字典

数据操作语言dml
Data Manipulation Languagedml)

从无到有 insert into

数据变化 update set

删除数据 delete where

表的融合 merge into

实验2:dml语句,插入删除和修改表的数据

该实验的目的是掌握DML语法.插入删除和修改表中的数据.

insert into语句
insert into语句
Insert into t1(c1,c2,c3) values(v1,v2,v3);

要点关键字写全,列的个数和数据类型要匹配。

这种语法每次只能插入一行。

可以使用函数

Insert into t1(c2) values(sysdate);

将当前的日期插入。

隐式插入null

在插入中没有列出的列,就会被插入NULL,如果该列有DEFAULT值,那么就插入默认值。

Insert into dept(deptno) values(50);

其中dname,loc没有说明,都为null.

显式插入null

明确的写出该列的值为NULL

Insert into dept values(60,null,null);
Insert into dept(loc,dname,deptno) values(null,null,70);

日期和字符串

日期格式敏感

当插入的列为日期的时候,最好强制转化为日期类型,默认的转换在环境变化的时候会报错。

Insert into t3(hiredate) values(to_date('080599 ' ,'mmddrr');

字符串大小写敏感

Insert into t2(c1) values('BEIJING ');
Insert into t2(c1) values('beijing ');

子查询插入

不加values关键字,一次可以插入多行

列的类型和位置要匹配

Insert into d1 select * from dept;
Insert into emp2 select * from emp where deptno=30;
Update 语句

修改表中的数据

Update emp set sal=sal+1;
Update emp set sal=2000 where empno=7900;
Update emp set comm=null where deptno=30;

用子查询来更新

SQL> create table emp2 as select * from emp;
 
Table created

建立EMP2表,和EMP表的结构,数据都相同

SQL> alter table emp2 add(dname varchar2(10));
 
Table altered

emp2表结构修改,增加一列。该列的值为null

SQL> update emp2 set dname=(select dname from dept where dept.deptno=emp2.deptno);

 
14 rows updated

使用相互关联子查询来更新emp2表的dname列。

上一页  1 2 3 4  下一页

Tags:Oracle 数据库 基础

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接