Oracle入门基础(八)一一数据处理
SQL> SQL的类型
SQL> 1、DML(Data Manipulation Language 数据操作语言): select insert update delete
SQL> 2、DDL(Data Definition Language 数据定义语言): create table,alter table,truncate table,drop table create/drop view,sequnece,index,synonym(同义词)
SQL> 3、DCL(Data Control Language 数据控制语言): grant(授权) revoke(撤销权限)
SQL> --插入insert
SQL> insert into emp(empno,ename,sal,deptno) values(1001,'Tom',3000,10);
SQL> --PreparedStatement pst = "insert into emp(empno,ename,sal,deptno) values(?,?,?,?)";
SQL> --地址符 &
SQL> insert into emp(empno,ename,sal,deptno) values(&empno,&ename,&sal,&deptno);
输入 empno 的值: 1002
输入 ename 的值: 'Mary'
输入 sal 的值: 2000
输入 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',2000,20)
已创建 1 行。
SQL> select empno,ename,sal,&t
2 from emp;
输入 t 的值: job
原值 1: select empno,ename,sal,&t
新值 1: select empno,ename,sal,job
EMPNO ENAME SAL JOB
---------- ---------- ---------- ---------
1001 Tom 3000
1002 Mary 2000
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> rollback;
回退已完成。
SQL> --一次插入多条记录
SQL> create table emp10 as select * from emp where 1=2;
SQL> desc emp10
助解:desc table_name查看表结构
SQL> --一次性将emp中,所有10号部门的员工插入到emp10中
SQL> insert into emp10 select * from emp where deptno=10;
SQL> 海量插入数据:
SQL> 1、数据泵(PLSQL程序)
SQL> dbms_datapump(程序包)
SQL> 2、SQL*Loader
SQL> 3、外部表
SQL> delete和truncate的区别
SQL> 1、delete逐条删除;truncate先摧毁表 再重建2
SQL> 2、delete是DML truncate是DDL
SQL> 3. delete可以回滚;truncate不可以回滚
SQL> 4、delete不会释放空间 truncate会
SQL> 5、delete会产生碎片 truncate不会
SQL>6、delete from后面可以写条件,truncate不可以。
SQL> 7、delete可以闪回(flashback) truncate不可以
助解:闪回技术有闪回表、闪回删除、闪回查询、闪回事务查询、闪回事务、闪回数据库、闪 回数据归档。其中,闪回查询、闪回事务查询用来“观察”过去;闪回数据归档并不是一个独立的功能,其功能是扩展闪回查询的时间窗口;闪回表、闪回删表能够以表为单位“回到”过去;闪回事务能够以事务为单位“回到”过去;闪回数据库能够以数据库为单位“回到”过去。
SQL> --flashback其实是一种恢复
SQL>delete和truncat执行时间对比
SQL> set timing on
SQL> delete from testdelete;
已用时间: 00: 00: 00.14
SQL> set timing off
SQL> drop table testdelete purge;
SQL> @d:\temp\testdelete.sql
SQL> set timing on
SQL> truncate table testdelete;
已用时间: 00: 00: 00.27
SQL> set timing off
SQL> Oracle中的事务
SQL> 1、起始标志: 事务中的第一条DML语句
SQL> 2、结束标志:提交: 显式 commit 隐式: 正常退出 DDL DCL
SQL> 回滚: 显式 rollback 隐式: 非正常退出 掉电 宕机
SQL> create table testsavepoint
2 (tid number,tname varchar2(20));
SQL> set feedback on
SQL> insert into testsavepoint values(1,'Tom');
已创建 1 行。
SQL> insert into testsavepoint values(2,'Mary');
已创建 1 行。
SQL> savepoint a;
保存点已创建。
SQL> select * from testsavepoint;
TID TNAME
---------- --------------------
1 Tom
2 Mary
已选择 2 行。
SQL> insert into testsavepoint values(3,'Maee');
已创建 1 行。
SQL> select * from testsavepoint;
TID TNAME
---------- --------------------
1 Tom
2 Mary
3 Maee
已选择 3 行。
SQL> rollback to savepoint a;
回退已完成。
SQL> select * from testsavepoint;
TID TNAME
---------- --------------------
1 Tom
2 Mary
已选择 2 行。
SQL> commit;
提交完成。
SQL> set transaction read only;
事务处理集。
SQL> select * from testsavepoint;
TID TNAME
---------- --------------------
1 Tom
2 Mary
已选择 2 行。
SQL> insert into testsavepoint values(3,'Maee');
insert into testsavepoint values(3,'Maee')
第 1 行出现错误:
ORA-01456: 不能在 READ ONLY 事务处理中执行插入/删除/更新操作
--oracle分页(Pageing Query)
select * from (select rownum r,e1.* from (select * from emp order by sal) e1
where rownum <=8)
where r >=5;
Oracle入门基础(八)一一数据处理的更多相关文章
- Oracle入门基础(十三)一一java调用oracle存储过程
package demo; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultS ...
- Oracle入门基础(十)一一数据库其他对象-视图/序列/索引/同义词
SQL> --视图 SQL> create view empinfoview as select e.empno,e.ename,e.sal,e.sal*12 annsal,d.dname ...
- Oracle入门基础(十二)一一储存过程及触发器
1.第一个存储过程 打印Hello World 调用存储过程: 1.exec sayhelloworld(); 2.begin sayhelloworld(); sayhelloworld(); en ...
- Oracle入门基础(十一)一一PL/SQL基本语法
1.打印Hello World declare --说明部分 begin --程序 dbms_output.put_line('Hello World'); end; 2.引用型变量 查询并打印783 ...
- Oracle入门基础(九)一一创建表和管理表
练习:查询每一年入职人数及总人数 SQL> select count(*) Total, 2 sum(decode(to_char(hiredate,'yyyy'),'1980',1,0)) & ...
- Oracle入门基础(七)一一集合运算
SQL> /* SQL> 查询10和20号部门的员工 SQL> 1. select * from emp where deptno=10 or deptno=20; SQL> ...
- Oracle入门基础(六)一一子查询
SQL> --查询工资比SCOTT高的员工信息 SQL> --1. SCOTT的工资 SQL> select sal from emp where ename='SCOTT'; SA ...
- Oracle入门基础(三)一一单行函数
SQL> --字符函数 SQL> select lower('Hello World') 转小写,upper('Hello World') 转大写,initcap('hello world ...
- Oracle入门基础(二)一一过滤和排序
SQL> --查询10号部门的员工 SQL> select * from emp where deptno=10; EMPNO ENAME JOB MGR HIREDATE SAL COM ...
随机推荐
- 录毛线脚本,直接手写接口最简洁的LoadRunner性能测试脚本(含jmeter脚本)
近日翻看了下招聘信息,很多都要求loadrunner和jmeter这两款工具,毕竟是性能测试的主流客户端并发工具. 录制的问题 做性能脚本是性能测试的基本功,loadrunner和jmeter这两款工 ...
- PRML 回归的线性模型
线性模型最简单的形式就是输入变量的线性模型,但是,将一组输入变量的非线性函数进行线性组合,我们可以得到一类更加有用的函数,本章我们的讨论重点就是输入变量的非线性函数的线性组合. 1 线性基 ...
- [旧][Android] Retrofit 初步使用
备注 原发表于2016.04.13,资料已过时,仅作备份,谨慎参考 Retrofit 是什么? Retrofit is a type-safe HTTP client for Android and ...
- 谁说EXCEL不能处理大数据?那是你用错了工具
我是一名数据分析师,每天需要和各种各样的数据和表格打交道,是一名名副其实的"表哥",不仅需要制作和更新公司里的日报.周报和月报,有时候也要为公司的会议准备各种数据材料.由于公司的业 ...
- RDD的运行机制
1. RDD 的设计与运行原理 Spark 的核心是建立在统一的抽象 RDD 之上,基于 RDD 的转换和行动操作使得 Spark 的各个组件可以无缝进行集成,从而在同一个应用程序中完成大数据计算任务 ...
- 【windows安全性 之访问控制】 访问控制 详细解说
windows的安全性的两个基本支柱是身份验证(登入)和授权(访问控制). 身份验证是标识用户的过程 ,授权在验证了所标识用户是否可以访问特定资源之后进行. 相关的命名空间和类: System.Sec ...
- burpsuite中文乱码问题
无法显示中文 先查看网页编码 然后在修改编码为网页的编码一致并重启burpsuite即可(或者直接选第一项自动识别编码) 显示中文正常,但是无法匹配中文 找到了一处验证码漏洞,想用burpsuite的 ...
- python浅拷贝与深拷贝浅析
首先我们要明确,python中大多数都是浅拷贝,我们先说原因: 1.时间花费更少 2.内存更小 3.效率更高,浅拷贝只拷贝顶层数据,一般情况下比深拷贝效率高. 容器(如列表)切片是浅拷贝
- (六)目标检测算法之YOLO
系列文章链接: (一)目标检测概述 https://www.cnblogs.com/kongweisi/p/10894415.html (二)目标检测算法之R-CNN https://www.cnbl ...
- 矩池云上如何修改cuda版本
cuda版本可能对系统,驱动版本会有影响,修改之前需要先进行确认 1.检查系统版本 source /etc/os-release && echo $VERSION_ID 2.导入apt ...