Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

Oracle SQL编程完美攻略 PDF 下载


分享到:
时间:2020-10-30 10:23来源:http://www.java1234.com 作者:转载  侵权举报
Oracle SQL编程完美攻略 PDF 下载
失效链接处理
 Oracle SQL编程完美攻略 PDF 下载


本站整理下载:
提取码:pqaa 
 
 
相关截图:
 
主要内容:

第一部分 SQL 语言基础
第一章、关系型与非关系型数据库
1.1 关系型数据库由来
关系型数据库,是指采用了关系模型来组织数据的数据库。
关系模型是在 1970 年由 IBM 的研究员 E.F.Codd 博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐
成为主流数据库结构的模型。
简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所构成的一个数据组织。
1.2 关系型数据库优点 1)容易理解:
二维表结构是非常贴近逻辑世界的一个概念,关系模型相对之前的网状、层次等其他模型来说更容易理解
2)使用方便:
通用的 SQL 语言使得操作关系型数据库非常方便
3)易于维护:
丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率
4)交易安全:
所有关系型数据库都不同程度的遵守事务的四个基本属性,因此对于银行、电信、证券等交易型业务的是不可或缺的。
1.3 关系型数据库瓶颈
1)高并发读写需求
网站的用户并发性非常高,往往达到每秒上万次读写请求,对于传统关系型数据库来说,硬盘 I/O 是一个很大的瓶颈。
2)海量数据的高效率读写
互联网上每天产生的数据量是巨大的,对于关系型数据库来说,在一张包含海量数据的表中查询,效率是非常低的。
3)高扩展性和可用性
在基于 web 的结构当中,数据库是最难进行横向扩展的,当一个应用系统的用户量和访问量与日俱增的时候,数据库却没有办
法像 web server 和 app server 那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。对于很多需要提供 24 小时不
间断服务的网站来说,对数据库系统进行升级和扩展是非常痛苦的事情,往往需要停机维护和数据迁移。
1.4 非关系型数据库
1)NoSQL 特点:
可以弥补关系型数据库的不足。
针对某些特定的应用需求而设计,可以具有极高的性能。
大部分都是开源的,由于成熟度不够,存在潜在的稳定性和维护性问题。
2)NoSQL 分类:
面向高性能并发读写的 key-value 数据库
面向海量数据访问的面向文档数据库
面向可扩展性的分布式数据库
1.5 优势互补,相得益彰
1)关系型数据库适用结构化数据,NoSQL 数据库适用非结构化数据。
2)Oracle 数据库未来的发展方向:提供结构化、非结构化、半结构化的解决方案,实现关系型数据库和 NoSQL 共存互补。值得
强调的是:目前关系型数据库仍是主流数据库,虽然 NoSql 数据库打破了关系数据库存储的观念,可以很好满足 web2.0 时代数
据存储的要求,但 NoSql 数据库也有自己的缺陷。在现阶段的情况下,可以将关系型数据库和 NoSQL 数据库结合使用,相互弥
补各自的不足。
第二章、SQL 的基本函数
2.1 关系型数据库 SQL 命令类别
数据操纵语言:DML: select; insert; delete; update; merge.
数据定义语言:DDL: create; alter; drop; truncate; rename; comment.
事务控制语言:TCL: commit; rollback; savepoint.
数据控制语言:DCL: grant; revoke.
2.2 单行函数与多行函数
更多 IT 认证课程请访问 美河学习在线 www.eimhe.com
单行函数:指一行数据输入,返回一个值的函数。所以查询一个表时,对选择的每一行数据都返回一个结果。
SQL>select empno,lower(ename) from emp;
多行函数:指多行数据输入,返回一个值的函数。所以对表的群组进行操作,并且每组返回一个结果。(典型的是聚合函数)
SQL>select sum(sal) from emp;
本小结主要介绍常用的一些单行函数,分组函数见第五章
2.3 单行函数的几种类型
2.3.1 字符型函数
lower('SQL Course')----->sql course 返回小写
upper('sql course')----->SQL COURSE 返回大写
initcap('SQL course')-----> Sql Course 每个单字返回首字母大写
concat('good','string')---->good string 拼接 只能拼接 2 个字符串
substr('String',1,3)---->Str 从第 1 位开始截取 3 位数,
演变:只有两个参数的
substr('String',3) 正数第三位起始,得到后面所有字符
substr('String',-2) 倒数第二位,起始,得到最后所有字符
instr('t#i#m#r#a#n#','#') --->找第一个#字符在那个绝对位置,得到的数值
Instr 参数经常作为 substr 的第二个参数值
演变:Instr 参数可有四个之多
如 select instr('aunfukk','u',-1,1) from dual; 倒数第一个 u 是哪个位置,结果返回 5
length('String')---->6 长度,得到的是数值
length 参数又经常作为 substr 的第三个参数
lpad('first',10,'$')左填充
rpad(676768,10,'*')右填充
replace('JACK and JUE','J','BL')---->BLACK and BLUE
trim('m' from 'mmtimranm')---->timran 两头截,这里的‘m’是截取集,仅能有一个字符
trim( ‘ timran ')---->timran 作用是两头去空字符
处理字符串时,利用字符型函数的嵌套组合是非常有效的,试分析一道考题:
create table customers(cust_name varchar2(20));
insert into customers values('Lex De Hann');
insert into customers values('Renske Ladwig');
insert into customers values('Jose Manuel Urman');
insert into customers values('Joson Malin');

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐