SQL> --一次插入多条数据 将emp的列复制给emp10 SQL> create table emp10 as select * from emp where 1=2; SQL> --一次性将emp中所有10号部门的员工插入到emp10中 SQL> insert into emp10 select * from emp where deptno=10; SQL> /* SQL> 海量插入数据 SQL> 1. 数据泵(PLSQL程序:dbms_datapump) SQL> 2. SQL*Loader工具 SQL> 3. 外部表 SQL> */ SQL> /* SQL> delete和truncate的区别: SQL> 1. delete逐条删除;truncate先摧毁表 再重建 SQL> 2. (*)delete是DML(可以回滚) truncate是DDL(不可以回滚) SQL> 3. delete不会释放空间 truncate会 SQL> 4. delete可以闪回(flashback) truncate不可以 SQL> 5. delete会产生碎片 truncate不会 SQL> */ SQL> Oracle中事务的标志 SQL> 1. 起始标志:事务中第一条DML语句 SQL> 2. 结束标志:提交 显式 commit SQL> 隐式 正常退出exit,DDL,DCL SQL> 回滚 显式 rollback SQL> 隐式 非正常退出,掉电,宕机 SQL> */ 中途创建保存点 SQL> savepoint a; 保存点已创建。 SQL> rollback to savepoint a; 设置表为只读 SQL> set transaction read only; 事务处理集。 SQL> --rownum 行号 SQL> select rownum,empno,ename,sal from emp; SQL> select rownum,empno,ename,sal 2 from emp 3 where rownum<=3 4 order by sal desc; SQL> /* SQL> 关于rownum SQL> 1. rownum永远按照默认的顺序生成 SQL> 2. rownum只能使用< <=;不能使用> >= SQL> */ SQL> select rownum,empno,ename,sal from emp order by sal desc; 部分: ROWNUM EMPNO ENAME SAL ---------- ---------- ---------- ---------- 9 7839 KING 5000 13 7902 FORD 3000 8 7788 SCOTT 3000 4 7566 JONES 2975 6 7698 BLAKE 2850 7 7782 CLARK 2450 2 7499 ALLEN 1600 10 7844 TURNER 1500 14 7934 MILLER 1300 3 7521 WARD 1250 5 7654 MARTIN 1250 SQL> --修改表:追加列,修改列,删除列,重命名列,重命名表 SQL> --增加photo保存照片 SQL> alter table test1 add photo blob; SQL> --修改列 SQL> alter table test1 modify tname varchar2(40); SQL> --删除列 SQL> alter table test1 drop column photo; SQL> --重命名列 SQL> alter table test1 rename column tname to username; SQL> --重命名表 SQL> rename test1 to test2; SQL> drop table test2;