标签:
create table emp( 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) ) select * from emp drop table emp insert into emp values(7369,‘SMITH‘,‘CLERK‘,7902,‘17-12月-80‘,800,null,20) insert into emp values(7499,‘JONES‘,‘MANAGER‘,7839,‘02-4月-81‘,2975,NULL,30) insert into emp values(7788,‘SCOTT‘,‘ANALYST‘,7566,‘19-4月-87‘,3000,NULL,20) insert into emp values(7839,‘KING‘,‘PRESIDNET‘,NULL,‘17-11月-81‘,5000,NULL,30) insert into emp values(7521,‘WARD‘,‘SALESMAN‘,7698,‘22-2月-81‘,1250,500,30) delete from emp where job=‘salesman‘ /*查询如果为空,按照0运算*/ select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0) from emp /*查询奖金为null的员工*/ select * from emp where comm is null /*别名sa*/ select empno as "员工号",ename "姓名",sal 月薪,sal*12,comm,sal*12+nvl(comm,0) from emp /*去重操作*/ select distinct deptno from emp /*连接符*/ select ‘hello‘ ||‘world‘ 字符串 from dual select ‘你‘||‘好‘ 问候 from dual /*寻找名字为king的员工*/ select * from emp where ename=‘KING‘ /*查询所有*/ select *from emp /*查询入职日期是*/ select * from emp where hiredate =‘17-12月-80‘ /*查询薪水在1000~2000的员工*/ select * from emp where sal between 800 and 1600 /*查询名字s打头的*/ select * from emp where ename like ‘S%‘ /*查询名字是四个子的*/ select * from emp where ename like ‘____‘ /*查询名字中包含下划线的*/ select * from emp where ename like ‘%\_%‘ /*对工资进行升序*/ select * from emp order by sal*12 asc select sal*12 from emp order by 1 desc /*大小写转换*/ select lower(‘GAGAGA‘)转小写,upper(‘agagagaga‘)转大写,initcap(‘hellworld ‘) 首字母大写 from dual /*截取字母*/ select substr(‘hellowrld‘,2)子串 from dual /*查找位置*/ select instr(‘hellowrld‘,‘w‘) 位置 from dual /*日期函数*/ select to_char(sysdate,‘yyyy-mm-dd‘) from dual /*多行函数*/ select sum(sal) from emp /*人数*/ select count(*) from emp /*group by */ select deptno ,avg(sal) from emp group by deptno /*having */ select deptno from emp group by deptno having avg(sal) >2000
新问题:oracle 如何插入海量数据?
-- 我的思路是: -- Step 1: 将1T左右的文本数据分解成 100 个文本文件,并按顺序命名 -- 例如:tb001.txt、tb002.txt、tb003.txt、...、tb100.txt, -- 并存放到5个(或更多)不同的磁盘中(这样并行导入的时候磁盘瓶颈相对较小)! -- Step 2: 在数据库中创建 5个(或更多)表空间,创建 100个名为 tb001、tb002、tb003、...、tb100的表,且平均分配到这5个表空间(其表的字段结构跟将要导入的目标表的字段结构一样) -- Step 3:用数据字典生成导入语句(控制文件及要导入的口令: -- 每个控制文件类似如下(共100个,所以:得用数据字典生成): load data infile "tb001.txt" append into table tb001 fields terminated by ‘,‘ (col1, col2, col3, ..., colN ) -- 导入口令类似如下(共100条口令,可以加个并行 执行的参数或同时执行多个口令): sqlldr userName/password control=tb001.ctl log=D:\your_path\tb001.log bad=D:\your_path\tb001.bad errors=1000 -- 最后:100个表的数据插入目标表(可以先将目标表的并行度加大,希望目标表是分区表更好,且先合理安排各分区表的数据文件的位置,以尽量避免IO瓶颈) insert into target_table select * from tb001; insert into target_table select * from tb002; ... insert into target_table select * from tb100;
数据的完整性?
数据库完整性(Database Integrity)是指数据库中数据的正确性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。
什么是数据库的回滚?
rollback命令
标签:
原文地址:http://www.cnblogs.com/FiyKt/p/4575682.html