前言
在第二篇的时候,为了不偏离用户管理的主题,所以对SQL*Plus的一些很常用的命令没有说清楚,在这里在补充一下咯!因为这些命令对我们平时在SQL*Plus下操作很重要,都是一些重复率很高的运用,掌握了这些,可以让你操作数据库事半功倍的效果哦!~
信不信由你,反正我是信了!~~
对了,前面有些童鞋说,文章太长了,这个真的没有办法短的呀~~因为我想一篇就一个主题嘛,想给点图,然后配合一些理论!~如果分的太细的话,就太多章节了!~见谅咯。
哇~~整理完格式 1点半了!~~赶忙睡觉去了!~~
各位晚安咯!!
---------------------本期目录导航------------------
一。SQL*Plus命令回顾
1.保存、检索并运行文件
2.命令格式化
3.设置页面大小
4.设置行的大小
5.使用变量
5.1临时变量
5.2已定义变量
5.3删除定义的变量
5.4在脚本中使用临时变量
5.5向脚本的变量传递值
6. Break on和Compute的使用
二。Oracle 中OEM的配置
一。SQL*Plus 命令回顾
1.SQL*Plus脚本运用
SQL*Plus可以保存、检索、运行包含SQL*Plus命令和SQL语句的脚本
命令 | 说明 |
SAVE filename | 讲SQL*Plus缓冲区中的内容保存到filename指定的地方。 |
GET filename | 把filename文件的内容读入到缓冲区中,只显示语句。不执行。 |
START filename | 执行读入缓冲区的语句。 |
@ filename | 同START |
EDIT | 将缓冲区中的内容复制到一个名为afiedt.buf的文件中,可以进行编辑。 |
如图:
2.命令格式化
命令如下:
COL[UMN] [{ column | expr } [ option_1 ... option_n ] ]
FORMAT 列显示格式,format为:9999990 9或0的个数决定最多显示多少位9,999,999.99 按照逗号和小数点来显示数据,若是0以空格显示099999 显示前面补0$999,999.99 数字前加美圆号B99999 若为0 ,则结果为空白99999Mi 若数字为负,则负号放在数字后(右边),缺省放在左边99999PR 负号将以括号括起9.999EEEE 以科学记数法表示(必须有4个E)999V99 数字乘以 10n ,如 1234变为 123400DATE 采用日期数字格式(MM/DD/YY)
如图所示:
3.设置页面大小
语法格式:
set pagesize 页数-----设置页数
4.设置行的大小
语法格式:
set linesize 行数----设置行数
5.使用变量
在我们使用sql*plus的时候,我们有的时候需要定义变量,以便在实际运行的时候代替实际值的使用。
变量分2种:
临时变量:只在使用它的SQL语句中有效。
已定义变量(全局变量):一直保留到SQL*Plus退出为止。
在SQL语句中用&定义临时变量(当然可以自己定义一个变量,下面有介绍),后面跟着变量名。运行下面的语句,SQL*Plus会提示用户为v_deptno变量输入一个值,然后再执行。
如图所示:
控制行的输出
如果我是一个很简约的人,我不喜欢上面图中的old和new这2行呢?Oracle可以满足你的要求,只需要输入下面的命令:
set verify off|on -----如果set verify off 就会禁止显示原值和新值的显示,就直接输入值就可以了。on是重新打开。
比如:
自定义临时变量字符
我们知道,如果我们如果想定义一个临时变量可以用"&",其实我们也可以自己自定义临时变量字符!~
语法命令:
set define 字符----定义自定义临时变量字符
如果还原默认的,很简单,只需要set define "&" 就OK了。其实,我觉得这个只是语法糖。实际效果不大。
使用临时变量替换表名
临时变量还可以替换表名,其实 sql语句中的 变量都可以被临时变量替换!
上面的&myDeptno输入了2次,为了避免重复输入相同的变量,可以使用&&代替!~如图,
上面的变量是临时变量,使用过后就会被Oracle销毁了!其实,还有另外一个办法,我们可以定义一个在类似全局变量的变量。
使用Define命令定义变量
Define可以用来定义变量,也可以用来查看变量。
使用Accept命令定义变量
上面的define 是需要把值写死在命令中,这样很不灵活。可喜的是,Oracle中还有一个Accept命令,可是等待用户为变量输入一个值。
ACCEPT 变量名 [type] [ FORMAT format] [FORMAT prompt] [HIDE]
type:给变量分配的类型,比如number、varchar2等等
format:指定变量的格式。比如A15:15个空格;9999:4位数字;DD-MON-YYYY:日期等等。
prompt:提示字符
HIDE:是否隐藏,比如你要输入密码,那么你需要输入这个,防止偷窥狂!。
如图所示:
undefine 变量名
在SQL*Plus脚本中,可以使用变量来创建可以运行的脚本,这样当其它的用户使用这个脚本的时候,不需要了解SQL语句的知识,只需要输入变量的值就可以运行在脚本!
现在在我的F盘下面新建一个myFirst.sql,输入下面命令语句:
select * from dept where deptno=&my_deptno
然后 在我们的SQL*Plus中运行如下:
注意:如果你建立的文件有空格的话,那么你需要把@后面的路径用引号给引起来。
使用accept也和上面一样。。不在演示了。
在运行脚本的时候,可以向变量传递值,但必须使用一个数字来引用脚本中的变量。
把上面的脚本命令改成下面形式:
select * from dept where deptno>=&1
然后再调用:
6. Break on和Compute的使用
Break on:字句可以让SQL*Plus根据列值的范围分割输出结果;
Compute:计算列的值。
在本地脚本输入以下命令
break on deptno compute sum of sal on deptno set verify off //用来禁止显示验证信息 set echo off //禁止SQL*Plus显示脚本中的SQL语句和命令 set pagesize 50 set linesize 70 clear columns column deptno heading '部门号' format 99 column ename heading '雇员名' format A20 column sal heading '工资' format $99999.99 select deptno,ename,sal from emp order by deptno; clear columns
得到结果如下:
二。Oracle 中OEM的配置
打开 OEM
这个前几天着实让我郁闷了一把,我怎么都开启不了!~。后来我突然想到,我在那天用360优化了电脑,把一个服务给关了,所以就启动不了OEM这个了,先让大家看一下,下次注意下:
先来看一下什么是百科里的一段OEM的介绍:
企业管理器简称OEM (Oracle Enterprise Manager)
OEM是一个图形化的数据库管理员工具。它为数据库管理员提供了一个集中的系统管理工具,同时 它也是一个用来管理、诊断和调试多个数据库的工具,一个用来管理来自多个地点的多个网络节点和服务的工具。该工具可以使不同的数据库管理员之间共享一些工 作,另外它还提供了一些管理并行服务器和分布式数据库的工具。总之,OEM是一个功能强大且操作简单的图形化数据库管理员工具。
很好理解,比如我们建表、表空间等等,我们平时都在上面的命令行创建(当然这里还没说到PL/SQL Developer),这样其实很不方便,所以你就可以进入到OEM中,进行图形化操作。很easy哦。
图1 打开OEM
图2. 登录界面
图3.主目录
OK,我们来看看我们会在平时用的比较多的地方吧!!~~就是那个服务器目录。这里我们可以在这里添加表空间、用户、数据库等等。应该来说,在命令里可以完成的任务 在这里应该基本可以完成(这句话还有待证明。。。。!~)如图:
我们点击“安全性”下面的“用户”,然后再点击“创建”,OK 我们可以打开新建用户界面,我们填上用户名:HelloWorld
点右下角“确定”就OK了,创建了一个用户!~~~然后 在SQL*Plus里看看~
在OEM的世界里,还有很多很多的东西值得你去发现。不过,我还是建议初学者不去用这个,别太依赖这个东东,初学的时候 动手敲敲 还是有好处滴!~~~
好晚了!~~
安!~
啊