没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
oracle 数据库总结
SQL 语句的顺序:
select 字段
from 表名
where (分组前)条件
group by 分组
having (分组后)条件
order by 排序
数据优化:
1、查询时写所需的列名
例:select 列名 from 尽量写所需列名比*查所有列名快
2、where 解析顺序: 右--》 左(where 条件执行顺序从右往左)
3、 where 与 having 尽量用 where
例: select * from 表名 where 条件 group by 条件 先 where 条件过滤在分组(速度快)
select * from 表名 group by 条件 having 条件 先分组在 having 条件过滤
4、尽量使用多表查询少用子查询
5、尽量不要使用集合运算
例:select * from 表名 where 条件
union
select * from 表名 where 条件
集合语句少用
集群的优点:
1、负载均衡
2、迁移失败
oracle 证书必须参加 oracle 培训 13 天:
OCA 黑马三天可以考 OCA
OCP (OCA、OCP)费用 9000
OCM 费用 2W 多
不可越级考
基本查询:
--查看监听器端口号
lsnrctl status strat stop
--开启自动录入到 d 盘下自动录入文件.txt 文件中
spool d://自动录入文件.txt
--关闭自动录入
spool off
--清屏
host cls
--显示当前用户
show user
--显示当前用户下的表
select * from tab;
--显示员工表的结构
desc emp
--显示当前行宽
show linesize
--设置行宽
set linesize 150
--设置列宽
col ename for a8 --设置名字字段 8 个字符
col sal for 9999 --设置薪水字段位 4 位
--开启 SQL 执行时间
set timing on
--关闭 SQL 执行时间
set timing off
--去重 distinct
select distinct deptno, job from emp;--distinct 作用于后面所有的列(当 deptno 和 job 都一样去
重)
--连接符
select concat('Hello',' World') from dual;
--dual 表:伪表
select 'Hello'||' World' 字符串 from dual;
过滤和排序:
过滤
使用 where 子句,将不满足条件的行过滤掉
字符和日期
字符和日期要包含在单引号中。
字符大小写敏感,日期格式敏感。
默认的日期格式是 DD-MON-RR。
--字符大小写敏感
select *from emp where ename='KING';--查询名叫 KING 的员工
--日期格式敏感
select *from emp where hiredate='17-11 月-81';--查询入职日期是 17-11 月-81 的员工
--显示参数与值
select * from v$nls_parameters;
结果如下:
PARAMETER VALUE
---------------------------------------------------------------- ---------------------------------
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_TERRITORY CHINA
NLS_CURRENCY ¥
NLS_ISO_CURRENCY CHINA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
NLS_CHARACTERSET ZHS16GBK
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM
TZR
NLS_DUAL_CURRENCY ¥
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
--修改日期格式
alter session set NLS_DATE_FORMAT='yyyy-mm-dd';--在当前会话更改
alter system set NLS_DATE_FORMAT='yyyy-mm-dd';--在整个系统更改
--between and: 1. 含有边界 2. 小值在前 大值在后
select * from emp where sal between 1000 and 2000;--查询薪水 1000~2000 之间的员工
--in 在集合中
select * from emp where deptno in (10,20);--查询 10 和 20 号部门的员工
--like 模糊查询
select * from emp where ename like 'S%';--查询名字以 S 打头的员工
select * from emp where ename like '____';--查询名字是 4 个字的员工
select * from emp where ename like '%\_%' escape '\';--查询名字中含有下划线的员工
--排序 order by 后面 + 列,表达式,别名,序号
select * from emp order by sal;--查询员工信息 按照月薪排序
select empno,ename,sal,sal*12 from emp order by sal*12 desc;--表达式
select empno,ename,sal,sal*12 年薪 from emp order by 年薪 desc;--别名
select empno,ename,sal,sal*12 年薪 from emp order by 4 des;--序号
--多个列排序 order by 作用于后面所有的列;desc 只作用于离他最近的列
select * from emp order by deptno desc,sal desc;
单行函数:
--字符函数
select lower('Hello World') 转小写,upper('Hello World') 转大写,initcap('hello world') 首字母大
写 from dual;
结果:
转小写 转大写 首字母大写
----------- ----------- -----------
hello world HELLO WORLD Hello World
--substr(a,b) 从 a 中,第 b 位开始取
select substr('Hello World',3) 子串 from dual;
结果:
子串
---------
llo World
--substr(a,b,c) 从 a 中,第 b 位开始取,取 c 位
select substr('Hello World',3,4) 子串 from dual;
结果:
子串
----
llo
--instr(a,b)
select instr('Hello World','ll') 位置 from dual;
结果:
位置
----------
3
--length 字符数 lengthb 字节数
select length('北京') 字符,lengthb('北京') 字节 from dual
结果:
字符 字节
---------- ----------
2 4
--lpad 左填充 rpad 右填充
select lpad('abcd',10,'*') 左,rpad('abcd',10,'*') 右 from dual;-- abcd ---> 10 位
结果:
左 右
---------- ----------
******abcd abcd******
--trim 去掉前后指定的字符
select trim('H' from 'Hello WorldH') from dual;
结果:
TRIM('H'FR
----------
ello World
--replace
select replace('Hello World','l','*') from dual;
结果:
REPLACE('HE
-----------
He**o Wor*d
--四舍五入
select round(45.926,2) 一,round(45.926,1) 二,round(45.926,0) 三,
round(45.926,-1) 四,round(45.926,-2) 五
from dual;
结果:
一 二 三 四 五
---------- ---------- ---------- ---------- ----------
45.93 45.9 46 50 0
--截断
select trunc(45.926,2) 一,trunc(45.926,1) 二,trunc(45.926,0) 三,
trunc(45.926,-1) 四,trunc(45.926,-2) 五
from dual
结果:
一 二 三 四 五
剩余34页未读,继续阅读
资源评论
普通网友
- 粉丝: 4875
- 资源: 99
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功