【oracle学习之路(六)两个实际使用的例子】教程文章相关的互联网学习教程文章

Oracle学习笔记【代码】【图】

Oracle学习笔记 1.order by分组 ASC:升序 DESC:降序 默认ASC。 如果有null,可以设置null值的位置,前面: select 字段 from 表名order by 字段 nulls first;后面: select 字段 from 表名order by 字段 nulls last;2.distinct null也会作为一个结果。 3.between between 10 and 20 等效于:a>=10 and a<=20 4.fetch字句 OFFSET 子句指定在行限制开始之前要跳过行数。OFFSET 子句是可选的。 如果跳过它,则偏移量为 0,行限制从第...

Oracle学习笔记十四:备份与恢复案例【代码】【图】

获取命令帮助exp -help imp -help expdp -help impdp -help rman target / ?测试数据准备CREATE TABLESPACE test01 datafile C:\APP\ADMINISTRATOR\ORADATA\TEST\test01.dbf SIZE 10M autoextend off; CREATE USER hello IDENTIFIED BY world DEFAULT TABLESPACE test01; grant dba to hello; conn hello/world;create table emp01 (id number(3),name varchar2(10)); insert into emp01 values(1,hello01); insert into emp01 val...

Oracle学习笔记十:用户权限管理【代码】【图】

一、数据库模式schema二、用户管理 2.1、创建用户所涉及内容确定用户需要将对象存储在哪个表空间 决定每个表空间中该用户的使用限额 指派缺省表空间和临时表空间 开始创建一个用户 赋予权限和角色给用户2.2、创建用户并设置初始口令CREATE USER hello IDENTIFIED BY world DEFAULT TABLESPACE data TEMPORARY TABLESPACE temp;2.3、删除用户 1)删除用户:DROP USER hello;2)使用 CASCADE 条件删除用户及其用户中包含的所有对象:...

Oracle学习笔记:nvl、nvl2、nullif、decode函数

一、nvl函数 功能:从两个表达式返回一个非 NULL 值。 语法: select nvl(expression1, expression2) -- 如果 expression1 计算结果为 null,则返回 expression2 -- 任意一种数据类型 -- 如果 expression1、expression2 都为null则返回nullselect nvl(null, 1) from dual; -- 1 返回值类型:字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值。 两个表达式数据类型必须一致。 二、nvl2函数 语法: select nvl2(expres...

Oracle学习笔记关于索引的扩展语句(十五)

哪些表的索引个数过多:prompt <p>当前用户下,哪些表的索引个数字超过5个的 select table_name, count(*) cntfrom user_indexesgroup by table_name having count(*) >= 5 order by cnt desc ;哪些表的外键未建索引:prompt <p>将外键未建索引的情况列出 select table_name,constraint_name,cname1 || nvl2(cname2, , || cname2, null) ||nvl2(cname3, , || cname3, null) ||nvl2(cname4, , || cname4, null) ||nvl2(cname5, , ||...

oracle_学习笔记04

一:PLSQL /*PLSQL编程:procedure Language 过程语言 Oracle于SQL的一个扩展declare--声明变量变量名 变量类型:=初始值vsal emp.sal%type --因为不知道表中的变量类型,所以使用引用型变量vrow emp%rowtype --声明记录型变量begin 业务逻辑end;--输出语句:dbms_output.put_line(); */--test1 declarei varchar2(10):='zhugeliang'; begindbms_output.put_line(i); end;--test2:查询员工编号为7369的员工工资,并且打印...

oracle学习笔记:字符串替换 replace、regexp_replace、translate函数

1.replace 函数 语法:replace(char, search_string, replacement_string) --针对字符串替换 功能: ? 将char中的字符串替换。 ? 当replacement_string为空时,剔除search_string。 select replace('fasdfasdf','fk','j') as col from dual; -- fasdfasdf select replace('fdasfasdd','as','jjj') as col from dual; -- fdjjjfjjjdd 完全匹配的字符才会进行替换,如无字符匹配,则返回原字符串。 该匹配是贪婪匹配,匹配都的字符串...

oracle学习笔记:重建临时表空间

重建临时表空间 1、创建中转临时表空间 create temporary tablespace TEMP1 tempfile /oradata/HXDB/datafile/temp02.dbf size 256M reuse autoextend on next 16M maxsize 1024M; 2、修改缺省临时表空间 alter database default temporary tablespace temp1; 3、删除原来临时表空间 drop tablespace temp including contents and datafiles; 4、重建临时表空间 create temporary tablespace TEMP tempfile /oradata/HXDB/datafile...

Oracle学习笔记:rank、dense_rank、row_number、ntile等排序算法

在 oracle 中有很多函数可以实现排序的功能,但是不尽相同。下面一一解说。 row_number函数 功能:可实现分组排序,为数据行添加序号,多用于分页查询。 语法:row_number() over(partition by column order by column desc) select *,row_number() over(partition by id order by score desc) as rank from Score; 注意:当存在相同成绩的学生时,row_number() 会依次进行排序,序号不相同,例如:1、2、3、4、5…… row_number()...

Oracle学习笔记04:timestamp时间大小比较【代码】

Oracle学习笔记04:timestamp时间大小比较 Oracel时间比较和Mysql不太一样,一开始还折腾了下 其中一种方式如下: selecta.*,b."name" as "maintain_sup_type_name"from S_MAINTAIN_ORDER aLEFT JOIN S_MAINTAIN_CATEGORY b on b."id" = a."maintain_sup_type"where a."del_flag"=0<if test="orderCode != null and orderCode != ">and a."order_code" like concat(concat(%,#{orderCode}),%)</if><if test="appointTime...

Oracle学习笔记:窗口函数

目录 1.测试数据 2.聚合函数+over() 3.partition by子句 4.order by子句 5.序列函数 5.1 分析函数之 ntile 5.2 分析函数之 row_number 5.3 分析函数之 lag、lead 5.4 分析函数之 first_value、last_valueSQL中的聚合函数,顾名思义是聚集合并的意思,是对某个范围内的数值进行聚合,聚合后的结果是一个值或是各个类别对应的值。直接聚合得到的结果是所有数据合并,分组聚合(group by)得到的结果是分组合并。 这种聚合函数得到的数据...

oracle学习笔记(二十一) 程序包【代码】

程序包 之前我们调用的dbms_output.put_line(''),dbms_output就是一个程序包 程序包创建语法 1. 声明程序包 复制--声明程序包中的过程,函数,自定义的类型 --程序包里面的过程和函数不需要使用create or repalce create or replace package dbms_my isrecord类型等。procedure $procedure_name$ [(参数...)];function $function_name$ [(参数...)]...... end dbms_my; 2. 实现程序包 复制create or replace package body dbms_my ...

oracle学习笔记(二十三)——JDBC调用存储过程以及批量操作【代码】

jdbc调用存储过程 使用并获得out模式的参数返回值 复制//存储过程为sum_sal(deptno department.deptno%type,sum in out number) CallableStatement cs =conn.prepareCall("{call sum_sal(?,?)}"); cs.setInteger(1,7879); cs.setDouble(2,0.0);//第二个传什么都无所谓,因为第二个参数是in out模式,是作为输出的 cs.registerOutParameter(2,java.sql.Types.Double,2);//最后那个参数是保留小数点2位 cs.excute();//执行会返回一...

Oracle学习(十四)分表分区【代码】

一、前言 大数据量的查询,不仅查询速度非常慢,而且还会导致数据库经常宕机,在尝试添加索引及查询方式修改后,还有没有更有效的解决方案呢? 分库、分表、分区这些概念咱就应该了解一下。 二、分表 假如一个大型商城有一个订购关系表,每个用户的订单都落在这个表里面,那么时间一长,要进行查询的时候,肯定慢得要死,这样的系统给客户用,那就凉凉思密达了... 拆分思想 咱可以对这个总表进行拆分,例如对年进行拆分,每个年表只...

Oracle学习——单行子查询、多行子查询【代码】

单行子查询 只返回一行数据的子查询的语句,使用单行比较操作符=,>,>=,<,<=,<>等 举例: 1显示与JAMES同部门的所有其他的员工姓名、工资、部门号 Select ename,sal,deptnoFrom empWhere deptno = (select deptno from emp where ename = ‘JAMES’)And ename<>’JAMES’;2查询大于等于公司平均工资的员工的姓名、职位、工资。 Select ename,job,salFrom empWhere sal >= (select avg(sal) from emp);3查询部门名称不是’SAVES’的员...