oracle课程总结

ORACLE总结

开发工具与关键技术:Oracle sql*plus  PLSQL Developer
作者:吴耀存
撰写时间:2019年03月25日

Oracle连接数据库方法

标题有3点

  1. 监听器配置,配置监听有两个地方可以配置(1. net manager 2.Net Configuration Assistant)
    这是net manager配置监听程序,鼠标点击监听程序右边就会有个绿色的加号,点一下加号进入监听配置程序。优点:需要配置的东西一目了然
    oracle课程总结_第1张图片
    这是Net Configuration Assistant配置监听程序,一步一步的让你选择,输入,属于向导性。优点:配置起来简单,适合新手
    oracle课程总结_第2张图片

  2. 监听服务和oracle主服务一定要在运行状态。
    OracleOraDb11g_home1TNSListener:表示监听服务,如果客户端要想连接到数据库,此服务必须打开。在程序开发中该服务也要起作用。
    OracleServiceORCL:表示数据库的主服务,命名规则:OracleService+数据库名称。此服务必须打开,否则Oracle根本无法使用。

  3. 用户名跟口令。
    默认的用户名有四个,三个中有四个需要自己解锁帐号
    用户名 口令 权限
    System orcl 最大
    sys orcl 最为厉害
    scott tiger 普通用户(需要自己解锁)
    orcl orcl 最为厉害

Oracle SQL语言 (重点)

Oracle SQL语言又分为三种语言DML,DDL,DCL,下面将会详细介绍
DML语言
DML全名为Data Manipulation Language(数据操纵语言)
何为数据操纵语言从名称上已经可以知道一二了,数据操纵语言无非就是对表里面的数据,
insert into(插入),update(修改),delete(删除),select(查询)。插入/修改时需要注意一点,插入/修改数据时,给的值要符合当前字段的类型跟尺寸,DML语言可以回滚。
下面我就做一些简单的例子:

oracle课程总结_第3张图片
DDL语言
DDL全名为: Data Definition Language(数据定义语言)
数据定义语言用于定义数据库的结构,比如创建、修改或删除数据库对象,
包括如下SQL语句:CREATE TABLE(创建数据库表),ALTER TABLE(更改表结构、添加、删除、修改列长度)
DROP TABLE(删除表),CREATE INDEX(在表上建立索引),DROP INDEX(删除索引)
下面我就做一些简单的例子:
oracle课程总结_第4张图片
oracle课程总结_第5张图片
oracle课程总结_第6张图片
oracle课程总结_第7张图片

DCL语言
DML全名为Data Control Language(数据控制语言)
DCL用来控制数据库的访问,包括如下SQL语句:
GRANT(授予访问权限),REVOKE(撤销访问权限),COMMIT(提交事务处理)
ROLLBACK(事务处理回退),SAVEPOINT(设置保存点),LOCK(对数据库的特定部分进行锁定)
oracle课程总结_第8张图片

ORACLE 函数(知识点的分类)

下面的图都是我学过的一些函数以及创建语句,还有一些简单例子
oracle课程总结_第9张图片
oracle课程总结_第10张图片
oracle课程总结_第11张图片
简单例子:
lower(小写)把last_name查询出来的数据全部转换成小写,注意显示结果值并不会改变,只是筛选的时候last_name查询出来的数据全部转换成小写。
oracle课程总结_第12张图片
如果转换的字符串中有年月日的关键字的话,会获取到年月日

oracle课程总结_第13张图片

ORACLE 查询

三种查询
oracle课程总结_第14张图片

Oracle 数据库对象

oracle课程总结_第15张图片

Oracle 数据库用户、权限管理

创建用户并赋予角色的权限
oracle课程总结_第16张图片
手动赋予niubi用户系统权限
在这里插入图片描述
给niubi用户分配表空间,users是一个默认表空间对象,功能最少,适合练习,和一些简单的一些操作
在这里插入图片描述
修改用户密码
在这里插入图片描述
对象权限
scott用户把employees表的查询权限授予了niubi用户
在这里插入图片描述
现在niubi用户就可以查employees表了
在这里插入图片描述
scott用户把php表的ALL权限(不包括删除表)授予了niubi用户。
在这里插入图片描述
ALL:代表的权限
oracle课程总结_第17张图片
With grant option:使用户同样具有分配权限的权力。
下面这张图:scott用把employees表的查询权限赋予了niubi用户,并且niubii用户也可以把employees表的select查询权限赋予给其他用户
在这里插入图片描述
Public:向数据库中所有用户分配权限
下面这张图:scott下面这张图:scott用户把employees表的查询权限变成公共的了,也就是只要是本机上的用户都有employees表的查询权限,其他用户要查询scott用户的employees表的话,写scott.employees即可
在这里插入图片描述
Scott用户把niubi用户的employees表的select给回收了,并且niubi用户之前把scott用户的employees表的select权限分配给了niubi2也一起给收回了。
在这里插入图片描述
经典例子
查询的所有员工中工资最低的那个部门的所有员工以及部门信息
oracle课程总结_第18张图片
理解:把子查询出的数据变成一个表(实际上却不是一个表)
在这里插入图片描述
使用自连接
在这里插入图片描述
新伪列
自我理解:3点
1.必须让新伪列(row_number)变成子查询,才可以用作判断条件。
2.partition by 可以理解为分组吧,相同的分为一组并赋予序号从1开始,比喻说分成了两组,那么第一组的第一条数据的序号是1,第二组的第一条数据序号也是1 。
3.必须要排序
在这里插入图片描述

总结

学了oracle之后发现一个问题,就是每一节课后记做笔记跟没记笔记的一个区别,以前我是不喜欢做笔记的一个人,感觉太无聊,明明就学会了还要记下来感觉有点浪费时间,还不如去研究一些不会的代码,这样感觉能更有效的利用时间,后来发现我错了,真的错了。这种思想大概持续一年多吧!现在回想起来以前学过的一些知识点并且理解透的代码,现在竟然会感到有一点茫然,看到时还要在费一点时间去理解,去记忆,反而浪费了更多的时间,然后我终于意识到了自己的错误,开始认真的反省(反省的时间段就在放寒假期间),我就想下次试着做一下笔记,然后就开始学oracle了,学了两个星期的oracle每一节课后下去我都好好的把上课讲过关键字用上几遍,并写上几个例子,再把自己理解的一些想法都写上了笔记上面,即使这关键字很简单,一直坚持到oracle课程结束,然后我又发现了记下来的东西出现的时候,脑海里能很快的想出来当时所记下来的文字,文字中又能找到当时的想法属实奇妙。
记笔记跟没记笔记效果真的是很明显,养成做笔记的好习惯,在成为大神的路上将会更近一步。

你可能感兴趣的:(SQL,oracle)