Oracle数据库学习笔记.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

Oracle数据库学习笔记

Oracle数据库简介

Oracle数据库以分布式数据库为核⼼,多⽤于企业级B/S、C/S架构软件中,性能稳定,安全性强,处理⼤量数据能⼒强,是具有完整的数

据管理功能的关系型数据库。

Oracle安装

没有安装过Oracle,直接使⽤公司的数据库建⽴测试库。数据库可视化⼯具可以使⽤plSQL,也可以使⽤jetbrains出品的datagrip。两个

软件的安装过程这⾥忽略。

Oracle体系结构

数据库:

数据库实例:通常情况下,Oracle只有⼀个实例ORCL。

表空间:由⽤户来管理。

数据⽂件(dbf):实际存在的,⽤来存放表。

Oracle和MySQL的⽐较

Oracle是多⽤户的,新建⼀个表空间由⽤户来管理负责创建表等;MySQL是多数据库的,创建⼀个数据库,再创建相应的表;

Oracle数据库的安全性⼤于MySQL,且适⽤⼤数据量数据库,价格昂贵。

1.Oracle默认⾏级锁,每次UD都需要提交;MySQL不同引擎采⽤不同锁,InnoDB默认使⽤⾏级锁;

2.Oracle的安全性⼤于MySQL,登录需多项验证;

3.Oracle有表空间,⾓⾊管理,快照,同义词,包和⾃动管理;

4.Oracle对数据库访问权限分类:

①DBA:拥有全部权限;②RESOURCE:可建实体,不可建库;③CONNECT:只能登陆不能操作。DBA可以通过grant指令下放

权限。

5.临时表区别:MySQL中临时表仅对当前⽤户会话可见的数据库对象,⼀旦会话结束,表⾃动删除;Oracle临时表中的数据仅对将数

据插⼊表中的⽤户会话可见,并且数据可能在事务或⽤户会话期间持续存在。

Oracle的虚表(伪表)

SELECT1+1;

上⾯这句SQL语句在MySQL中是可以执⾏到2的,但是在Oracle中执⾏却会报错,提⽰没有找到FROM表达式。

如何让上⾯的语句在Oracle中执⾏?SELECT1+1FROMDUAL;

这⾥DUAL表是Oracle数据库提供的虚表,也叫伪表,⽤来补齐语法结构。

Oracle语法(相对于MySQL语法)

Oracle的连接⽅式独特,使⽤“(+)”来标注连接,根据“(+)”出现在等号的位置确定执⾏左连接还是右连接,符号在哪⾥,就是以哪表为

基准进⾏连接。

--右连接的demo,查询出所有部门下的员⼯

SELECTe.empno,e.ename,d.depton,d.dnameFROMempe,deptdWHEREe.depton(+)=d.depton;

也可以这样⽅便记忆:哪张表没有数据,“+”写在哪边

关于模糊查询这⾥有些想说的

Oracle的模糊查询和MySQL⼀样都是使⽤LIKE关键字,“_”和“%”做通配符,但是Oracle对查询条件中含有通配符的查询语句该怎么

写?

SELECT*FROMEMPWHEREENAMELIKE%\%%ESCAPE\;

式中ESCAPE关键字在这⾥对“\”符号进⾏转义,意思“\%”代表真正的“%”

别名

Oracle的别名同MySQL⼀样,使⽤可以省略的AS关键字定义。对于别名含有空格、特殊字符、关键字的情况需要加双引号

SELECTENAME姓名,JOB岗位FROMEMP;

EXISTS在数据量⼤时的⾼效查询性能

SELECT*FROMEMPWHEREEXISTS(SELECT*FROMEMPWHEREEMPNO=10086);

--相当于

SELECT*FROMEMPWHERE1=2;--只有在条件满⾜时才会执⾏查询语句。这样的条件判断可⼤⼤减少⼦句查询的时间

ROWNUM伪列

系统⾃动⽣成的⼀列,⽤来表⽰⾏号。ROWNUM是⼀个Oracle关键字,⽤来表⽰⾏号,默认值是1,在查询出结果后加1。ROWNUM不能

做⼤于号的⽐较,例如:ROWNUM2这个条件是没有结果的,可以做⼩于号的判断

SELECTROWNUM,E1.*FROMEMPE1;

--查询所有⼈⾥⼯资最⾼的三⼈

SELECTE1.*FROM(SELECTE1.*FROMEMPE1ORDERBYSALDESC)E1WHEREROWNUM=3;

ROWNUM做分页查询

ROWNUM不能做⼩于⽐较,所以提供的思路是将ROWNUM的查询结果取别名作为分页查询的⼦查询条件。下⾯给出查询第六条到第⼗条

您可能关注的文档

文档评论(0)

153****9248 + 关注
实名认证
文档贡献者

专注于中小学教案的个性定制:修改,审批等。本人已有6年教写相关工作经验,具有基本的教案定制,修改,审批等能力。可承接教案,读后感,检讨书,工作计划书等多方面的工作。欢迎大家咨询^

1亿VIP精品文档

相关文档