Oracle数据库之数据处理
来源:互联网 发布:破解windows开机密码 编辑:程序博客网 时间:2024/05/29 17:26
Oracle数据库总结:
Oracle数据库之集合运算
Oracle数据库之数据处理
Oracle数据库之建表和管理表
Oracle数据库之对象视图、索引、序列、同义词
SQL> SQL的类型
SQL> 1. DML(Data Manipulation Language 数据操作语言):insert update delete select
SQL> 2. DDL(Data Definition Language 数据定义语言): create/drop/alter/truncate table
SQL> create/drop view,sequence,index,synonym(同义词)
SQL> 3. DCL(Data Control Langauge 数据控制语言): grant(授权) revoke(撤销权限)
SQL>
SQL> –插入
SQL> insert into emp(empno,ename,sal,deptno)
2 values(1001,’Tom’,3000,10);
SQL> –地址符 &
SQL> insert into emp(empno,ename,sal,deptno) values(&empno,&ename,&sal,&deptno);
输入 empno 的值: 1002
输入 ename 的值: ‘Mary’
输入 sal 的值: 3000
输入 deptno 的值: 20
原值 1: insert into emp(empno,ename,sal,deptno) values(&empno,&ename,&sal,&deptno)
新值 1: insert into emp(empno,ename,sal,deptno) values(1002,’Mary’,3000,20)
SQL> /
输入 empno 的值: 1003
输入 ename 的值: ‘Mike’
输入 sal 的值: 2000
输入 deptno 的值: 10
原值 1: insert into emp(empno,ename,sal,deptno) values(&empno,&ename,&sal,&deptno)
新值 1: insert into emp(empno,ename,sal,deptno) values(1003,’Mike’,2000,10)
\
SQL> select empno,ename,&t
2 from emp;
输入 t 的值: sal
原值 1: select empno,ename,&t
新值 1: select empno,ename,sal
EMPNO ENAME SAL
7369 SMITH 800 7499 ALLEN 1600 7521 WARD 1250 7566 JONES 2975 7654 MARTIN 1250 7698 BLAKE 2850 7782 CLARK 2450 7788 SCOTT 3000 7839 KING 5000 7844 TURNER 1500 7876 ADAMS 1100 EMPNO ENAME SAL
7900 JAMES 950 7902 FORD 3000 7934 MILLER 1300 1001 Tom 3000 1002 Mary 3000 1003 Mike 2000
SQL> /
输入 t 的值: job
原值 1: select empno,ename,&t
新值 1: select empno,ename,job
EMPNO ENAME JOB ---------- ---------- --------- 7369 SMITH CLERK 7499 ALLEN SALESMAN 7521 WARD SALESMAN 7566 JONES MANAGER 7654 MARTIN SALESMAN 7698 BLAKE MANAGER 7782 CLARK MANAGER 7788 SCOTT ANALYST 7839 KING PRESIDENT 7844 TURNER SALESMAN 7876 ADAMS CLERK EMPNO ENAME JOB ---------- ---------- --------- 7900 JAMES CLERK 7902 FORD ANALYST 7934 MILLER CLERK 1001 Tom 1002 Mary 1003 Mike
SQL> select * from &t;
输入 t 的值: dept
原值 1: select * from &t
新值 1: select * from dept
DEPTNO DNAME LOC ---------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON
SQL> –批处理
SQL> create table emp10 as select * from emp where 1=2;
表已创建。
SQL> select * from emp10;
SQL> desc emp10
名称 是否为空? 类型 ----------------------------------------- -------- ---------------------------- EMPNO NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2)
SQL> –一次性将emp所有10号部门的员工插入到emp10中
SQL> insert into emp10
2 select * from emp where deptno=10;
已创建 3 行。
SQL> select * from emp10;
EMPNO ENAME JOB MGR HIREDATE SAL COMM ---------- ---------- --------- ---------- -------------- ---------- ---------- DEPTNO ---------- 7782 CLARK MANAGER 7839 09-6月 -81 2450 10 7839 KING PRESIDENT 17-11月-81 5000 10 7934 MILLER CLERK 7782 23-1月 -82 1300 10
SQL> 海量插入数据:
SQL> 1. 数据泵
SQL> 2. SQL*Loader
SQL> 3. 外部表
delete和truncate的区别:
SQL> 1. delete逐条删除,truncate先摧毁表 再重建
SQL> 2. ** delete是DML(可以回滚) truncate是DDL(不可以回滚)
SQL> 3. delete会产生碎片 truncate不会
SQL> 4. delete不会释放空间 truncate会
SQL> 5. delete可以闪回(flashback) truncate不可以
SQL> select count(*) from testdelete;
COUNT(*) ---------- 5000
测试delete和truncate的效率
SQL> set timing on
SQL> delete from testdelete;
已用时间: 00: 00: 00.08
SQL> set timing off
SQL> select count(*) from testdelete;
COUNT(*) ---------- 5000
SQL> set timing on
SQL> truncate table testdelete;
已用时间: 00: 00: 04.52
SQL> set timing off
SQL> Oracle中事务的标志
SQL> 1. 起始标志: 事务中第一条DML语句
SQL> 2. 结束标志:提交 显式 commit
SQL> 隐式 正常退出exit,DDL,DCL
SQL> 回滚 显式 rollback
SQL> 隐式 非正常退出,掉电,宕机
SQL>
SQL> create table sihaitest
2 (tid number, tname varchar2(20));
表已创建。
SQL> insert into sihaitestvalues(1,’Tom’);
已创建 1 行。
SQL> insert into sihaitestvalues(2,’Mary’);
已创建 1 行。
SQL> –定义保存点
SQL> savepoint a;
保存点已创建。
SQL> select * from sihaitest;
TID TNAME ---------- -------------------- 1 Tom 2 Mary
已选择 2 行。
SQL> insert into sihaitestvalues(3,’sihai’);
已创建 1 行。
SQL> select * from sihaitest;
TID TNAME ---------- -------------------- 1 Tom 2 Mary 3 sihai 已选择 3 行。
SQL> rollback to savepoint a;
回退已完成。
SQL> select * from sihaitest;
TID TNAME ---------- -------------------- 1 Tom 2 Mary
SQL> commit;
提交完成。
//oracle中有三种隔离级别。
//将事务设置为只读级别时,只能读取。
SQL> set transaction read only;
事务处理集。
SQL> select * from sihaitest;
TID TNAME ---------- -------------------- 1 Tom 2 Mary 已选择 2 行。
SQL> insert into sihaitestvalues(3,’sihai’);
insert into sihaitestvalues(3,’sihai’)
*
第 1 行出现错误:
ORA-01456: 不能在 READ ONLY 事务处理中执行插入/删除/更新操作
- Oracle数据库之数据处理
- oracle数据库:业务数据处理之五
- 【数据库】Oracle中的复杂数据处理
- 海量数据处理之数据库索引
- 海量数据处理之数据库索引
- 海量数据处理之数据库索引
- iOSDay36数据处理之SQLite数据库
- 海量数据处理之数据库索引
- Oracle之优化篇---海量数据处理分析
- Oracle之优化篇---海量数据处理分析
- Oracle之优化篇---海量数据处理分析
- Oracle之优化篇---海量数据处理分析
- Oracle之优化篇---海量数据处理分析
- Oracle之优化篇---海量数据处理分析
- 海量数据处理之数据库索引及优化
- Oracle数据处理
- Oracle数据处理
- Oracle数据处理
- 《DSAA》 12.1 自顶向下伸展树
- 【LeetCode】 167. Two Sum II - Input array is sorted
- 跨域请求
- 389. Find the Difference
- 查看端口被占用
- Oracle数据库之数据处理
- go 语言 TCP服务器接受客户端字符串信息
- Pycharm的运行和简单调试
- 每天一个 Linux 命令(23):Linux 目录结构
- Delphi日期函数大全
- go语言 mysql操作
- 在spring 中如果使用new创建一个对象时 这个对象将不在受spring管理器管理
- error: stray '\200' in program
- ZCMU-1169-数字游戏