资源预览内容
第1页 / 共44页
第2页 / 共44页
第3页 / 共44页
第4页 / 共44页
第5页 / 共44页
第6页 / 共44页
第7页 / 共44页
第8页 / 共44页
第9页 / 共44页
第10页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
,本章要求:,第4章 SQL* Plus命令,了解SQL*Plus与数据库的相互交互功能 熟悉SQL*Plus环境的设置 掌握常用的SQL*Plus命令 掌握如何格式化查询结果,主要内容,1.设置SQL*Plus运行环境 2.常用SQL*Plus命令 3.格式化查询结果 4.综合实例设置空白行数为4,第4章 SQL* Plus命令,4.1.1 SET命令基本语法 4.1.2 使用SET命令设置运行环境,4.1 设置SQL*Plus运行环境,在Oracle 11g数据库中,用户可以使用SET命令来设置SQL*Plus的运行环境,SET命令的语法格式为: SET system_variable value 参数说明如下: system_variable:变量名。 value:变量值。 SET命令的常用变量名、可选值及其说明如表4-1所示。 表4-1 SET命令的常用变量名、可选值及其说明,4.1.1 SET命令基本语法,比如,用户可以设置在SQL*Plus命令提示符“SQL”前面显示当前的系统时间。但需要注意的是:通过SET命令设置的环境变量是临时的,不是永久的。当用户退出SQL*Plus环境后,用户设置的环境参数会全部丢失。 【例4-1】 使用“set time on”命令设置在SQL*Plus命令提示符“SQL”前面显示当前的系统时间,具体代码如下。 SQL set time on 10:27:06 SQL,4.1.2 使用SET命令设置运行环境,在对SET命令的功能及其若干常用变量选项了解之后,本节针对在Oracle操作过程中经常用到的几个变量选项及其实例应用进行详细讲解。 1PAGESIZE变量 该变量用来设置从顶部标题至页结束之间的行数,其语法格式如下: SET PAGESIZE value value变量的默认值为14,根据实际情况的需要,用户可以修改value的值,该值是一个整数。 当SQL*Plus返回查询结果时,它首先会显示用户所选择数据的列标题,然后在相应列标题下显示数据行,上下两个列标题所在行之间的空间就是SQL*Plus的一页。一页中所显示的数据行的数量就是PAGESIZE变量的值。若要查看当前SQL*Plus环境中的一页有多少行,可以使用命令show pagesize命令。 【例4-2】 使用命令show pagesize命令显示当前SQL*Plus环境中的一页有多少行,具体代码如下。 SQL show pagesize pagesize 14 说明:不要把当前窗口区域内能够显示的行数看做是SQL*Plus环境中一页的行数,一页的行数由PAGESIZE变量值来决定。,【例4-3】使用set pagesize命令修改一页的行数为18,然后再使用新的pagesize值显示数据行,具体代码如下。 SQL set pagesize 18 SQL select user_id,username,account_status from dba_users; 本例运行结果如图4-1所示。 图4-1 使用set pagesize命令修改行数 说明:一页内的数据行包括两个列标题之间的数据行、上面的一个列标题、分割线和空行,2NEWPAGE变量 该变量用来设置一页中空行的数量,其语法格式如下: SET NEWPAGE value value的默认值为1,根据实际情况的需要,用户可以修改value的值,该值是一个整数。 【例4-4】 首先显示当前SQL*Plus环境中的一页有多少空行,然后使用set newpage命令修改空行的数量,并通过检索数据记录来观察空行的改变,具体代码如下 SQL show newpage newpage 5 SQL set newpage 1 SQL select user_id,username,account_status from dba_users;,本例运行结果如图4-2所示。 图4-2 使用set newpage命令修改空行,3LINESIZE变量 该变量用来设置在SQL*Plus环境中一行所显示的最多字符总数,其语法格式如下: SET LINESIZE value value的默认值为80,根据实际情况的需要,用户可以修改value的值,该值是一个整数。 如果数据行的宽度大于LINESIZE变量的值,当在SQL*Plus环境中按照LINESIZE指定的数量输出字符时,数据就会发生折行显示的情况。如果适当调整LINESIZE的值,使其值等于或稍大于数据行的宽度,则输出的数据就不会折行。所以在实际操作Oracle数据库的过程中,要根据具体情况来适当调整LINESIZE的值。 【例4-5】 首先show line命令显示当前SQL*Plus环境中一行可以显示的最多字符数量,然后使用set linesize命令修改一行中可以显示的最多字符数量为100,具体代码如下。 SQL show line linesize 40 SQL set linesize 100,4PAUSE变量 该变量用来设置SQL*Plus输出结果是否滚动显示,其语法格式如下: SET PAUSE value value变量值有以下三种情况: OFF:这是默认值,返回结果一次性输出完毕,中间的每一页不会暂停。 ON:表示输出结果的每一页都暂停,用户按后回车键后继续显示。 TEXT:在设置PAUSE的值为NO之后,若再设置TEXT的值,则每次暂停都将显示该字符串。当PAUSE的值为OFF时,设置TEXT值没有任何意义。 当在SQL*Plus环境中显示多行数据时,并且一页无法容纳下这么多数据行。如果PAUSE变量值为OFF时,则SQL*Plus窗口输出的数据行会快速滚动,非常不利于用户查看。这就需要数据行在滚动时最好能够按页暂停,以便于用户逐页地查看输出结果。当把PAUSE变量的值设置为ON时,就可以实现控制SQL*Plus在显示完一页后暂停滚动,直到按回车键后才继续显示下一页。另外,在设置PAUSE变量值为NO之后,还可以通过PAUSE变量设置暂停后显示的字符串,以便于提示用户操作。,【例4-6】 使用SET PAUSE命令设置显示结果按页暂停,并在暂停后显示“按键继续”字符串,具体代码如下。(实例位置:光盘MR源码第4章4-3) SQL set pause on SQL set pause 按键继续 SQL select user_id,username,account_status from dba_users; 本例运行结果如图4-3所示。 图4-3 使用SET PAUSE命令设置显示结果按页暂停 说明:当不再需要按页暂停时,可以使用“SET PAUSE OFF”命令取消显示结果的暂停功能,同时屏幕上不再有“提示字符串”输出。,5NUMFORMAT变量 该变量用来设置显示数值的缺省格式,该格式是数值格式,其语法格式如下: SET NUMFORMAT format format为数值的掩码,数值的常用掩码及其说明如表4-2所示。 表4-2 数值的常用掩及其说明 当用户查询数据库中的数值时,SQL*Plus环境将使用默认的格式显示数值,即以10个字符的宽度和常规格式来显示数字。,【例4-7】 在SQL*Plus环境中,使用默认的格式显示scott.emp表中的雇员工资(即SAL字段的值),具体代码如下。 SQL select ename,job,sal from scott.emp; 本例运行结果如图4-4所示。 图4-4 显示scott.emp表中的雇员工资,【例4-8】 在SQL*Plus环境中,使用“$999,999,999.00”格式显示scott.emp表中的雇员工资,具体代码如下。 SQL set numformat $999,999,999.00 SQL select ename,job,sal from scott.emp; 本例运行结果如图4-5所示 图4-5 格式化工资,4.2 常用SQL*Plus命令,4.2.1 HELP命令 4.2.2 DESCRIBE命令 4.2.3 SPOOL命令 4.2.4 其他常用命令,4.2.1 HELP命令,SQL*Plus工具提供了许多操作Oracle数据库的命令,并且每个命令都有很多选项,把所有命令的选项都记住,这对于用户来非常困难。为了解决这个难题,SQL*Plus提供了HELP命令来帮助用户查询指定命令的选项。HELP可以向用户提供被查询命令的标题、功能描述、缩写形式和参数选项(包括必选参数和可选参数)等信息。HELP命令的语法形式如下。 HELP|? topic ?表示一个命令的部分字符,这样就可以通过提供命令的部分字符以模糊查询的方式来查询命令格式;topic参数表示将要查询的命令的完整名称。若省略“?”和“topic”参数,直接执行HELP命令,则会输出HELP命令本身的语法格式及其功能描述信息。 【例4-9】 startup命令用来启动数据库实例,下面使用HELP命令查看startup命令的语法格式及功能描述,具体代码如下。 SQL help startup,本例运行结果如图4-6所示。 图4-6 startup命令 如果用户无法记清所要使用的SQL*Plus命令,则可以使用help index命令来查看SQL*Plus命令清单。,【例4-10】 使用help index命令来查看SQL*Plus命令清单,具体代码如下。 SQL help index 本例运行结果如图4-7所示。 图4-7 SQL*Plus命令清单,在SQL*Plus的众多命令中,DESCRIBE命令可能是被使用的最频繁的一个,它用来查询指定数据对象的组成结构。比如,通过DESCRIBE命令查询表和视图的结构,查询结果就可以列出其各个列的名称、是否为空及类型等属性。DESCRIBE命令的语法形式如下: describe object_name; describe可以缩写为desc,object_name表示将要查询的对象名称。 【例4-11】 下面通过DESCRIBE命令查看dba_tablespaces数据字典表(用来存储表空间信息的内部表)的结构,代码如下: SQL desc dba_tablespaces; 本例运行结果如图4-8所示。 图4-8 查看dba_tablespaces数据字典表结构,4.2.2 DESCRIBE命令,【例4-12】 在scott.emp表中查询销售员(SALESMAN)的编号、姓名和工资,在编写SQL语句的过程中,使用“#desc scott.emp”命令查询scott.emp表中工资字段的名称(sal),代码及运行结果如下: SQL select empno,ename, 2 #desc scott.emp 名称 是否为空? 类型 - - - EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2) 2 sal from scott.emp where job=SALESMAN; EMPNO ENAME SAL - - - 7499 ALLEN 1600 7521 WARD 1250 7654 MARTIN 1250 7844 TURNER 1500
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号