目录
如何将用户解锁(这里解锁常用的scott、hr)
(1)解锁用户
(2)给解锁的用户设置密码
1.理解SQL*Plus的运行环境
2.HELP命令
3.SQL*Plus常用命令的使用
3.1 SET命令
3.2 DESCRIBE命令
3.3 PROMPT命令
3.4 SPOOL命令
3.5格式化查询结果
COLUMN命令
TTITLE和BTITLE命令
3.6缓存区
首先要知道Oracle有哪些用户: select * from dba_users;
解锁: alter user Scott account unlock;
设置密码: alter user scott identified by password;
在数据库系统中,可以使用两种方式执行命令,一种方式是通过图形化工具(可以用SQLdeveloper),另一种方式是直接使用各种命令。图形化工具的特点是直观、简单,但是图形工具灵活性比较差,不利于用户对命令的理解;而命令则非常灵活,有利于加深用户对复杂命令选项的理解,并且可以完成某些图形工具无法完成的任务。
SQL*Plus则是用于执行SQL语句和PL/SQL程序的工具。
SQL*Plus有许多命令,而且每个命令都有大量的选项,要记住每一个命令的所有选项是很困难的(除了比较常用的,其他的都懒得记)。用户可以使用HELP命令查询相关的命令信息。SQL*Plus帮助系统可以向用户提供下面一些信息:命令标题、命令作用描述的文件、命令的缩写形式、命令中使用的强制参数和可选参数。
HELP命令的语法形式:help [topic] 说明:topic参数表示将要查询的命令名称。
help index命令,可以查看SQL*Plus命令清单。
SET命令用来设置SQL*Plus的运行环境。语法格式为:SET system_option value
选项 |
说明 |
set linesize {80|n} |
设置SQL*Plus在一行中能够显示的总字符数,默认值为80。可以的取值为任意正整数。 |
Set newpage {1|n|none} |
设置每页打印标题前的空行数,默认值为1。 |
set pagesize {14|n} |
设置每页打印的行数,该值包括NEWPAGE设置的空行数。 |
set pause{off|on|text} |
设置SQL*Plus输出结果时是否滚动显示。当取值为ON时表示输出结果的每一页都暂停,用户按下回车键后继续显示;取为字符串时,每次暂停都将显示该字符串。 |
DESCRIBE命令可以返回数据库中所存储的对象的描述。对于表、视图等对象而言,DESCRIBE命令可以列出其各 个列的名称以及各个列的属性。除此之外,DESCRIBE还会输出过程、函数和程序包的规范
使用PROMPT命令可以在屏幕上输出一行数据,这种输出方式非常有助于在存储的脚本文件中向用户传递相应的信息。
PROMPT命令的语法形式如下:PROMPT prompt_text;
Prompt_text表示用于指定要在屏幕上显示的提示信息。
用@命令来运行脚本文件
先写个脚本文件,放在某个路径下(这里脚本文件里面是 select username from dba_users;)
@命令格式: @+空格+脚本文件的路径
使用SPOOL命令可以把查询结果保存到文件中,或者把查询结果发送到打印机中。
SPOOL命令的语法格式如下:spool file_name [create ] | [replace] | [append] | off;
说明:
file_name参数用于指定文件的名称,默认的扩展名为.LST
create关键字表示创建一个新的文件
replace关键字表示替代已经存在的文件
append表示把内容附加到一个已经存在的文件中
注意:spool命令执行的结果为:从spool命令开始,直到spool off 间的查询结果保存到文件中。
SQL*Plus提供了大量的命令用于格式化查询结果,使用这些命令可以对查询结果进行格式化,以产生用户需要的报表。 使用这些命令可以实现重新设置列的标题,重新定义列的值的显示格式和显示宽度,为报表增加头标题和底标题, 在报表中显示当前日期和页号,也可以为报表添加新的统计数据等。常用的格式化查询结果命令包括:COLUMN、 BTITLE和TTITLE等。
语法格式:column [ [column_name ] alias | option ]
说明:column_name参数用于指定要控制的列名称。
alias参数用于指定列的别名。
option参数用于指定某个列的显示格式
l Option选项的取值及意义
选项 |
说明 |
FORMAT |
为列指定显示格式 |
HEADING |
定义列的标题 |
JUSTIFY |
调整列标题的对齐方式。默认情况是数字列为右对齐,其他列为左对齐。可以设置的标题位置值为:LEFT、CENTER、RIGHT |
ON|OFF |
控制显示属性的状态,OFF表示定义的显示属性不起作用 |
WRAPPED |
当字符串的长度超过显示宽度时,将字符串的超出部分折叠到下一行显示。 |
举例:
说明:9和0为数字值的格式化掩码。9表示查询结果中数字替换格式中的掩码;0表示格式中的掩码屏蔽掉查询结果中的数字。
显示结果:
为查询的各列指定别名
SQL> column empno heading 工作编号
SQL> column ename heading 姓名
SQL> column sal heading 工资
SQL> select empno,ename,sal from emp;
使用命令查看特定列的显示属性:Column 列名
例如:column sal
通过ON/OFF设置某列的显示属性是否起作用。
例如:column sal off 禁用了列的显示属性
利用TTITLE和BTITLE 命令设置打印时每页的顶部和底部标题。
TTITLE命令的语法格式:TTITLE [printspec [text| variable]…] |[off|on]
说明:
printspec用来设置格式化头部标题的字句。它可以用如下选项。
LEFT|CENTER|RIGHT 在当前行中左对齐|中间|右对齐打印
BLOD 以黑体打印数据
COL 指定在当前行的第几列打印头部标题。
SKIP 跳到从下一行开始的第几行,默认值为1
off 选项用于禁止打印头部标题,on用于打印头部标题
举例:
SQL> ttitle center '职工信息表'
SQL> btitle left ‘2020/03/31'
SQL> select empno,ename,job,sal from scott.emp;
SQL> ttitle center '职工信息表' skip - 说明:skip- 是本行未完接下行(和英语的分隔-类似)
SQL > left "页" SQL.PNO skip 说明:sql.pno是页码
SQL > select empno,ename,sal from scott.emp;
SQL > btitle left _date 说明:btitle和ttitle类似,前者在底部,后者在顶部。_date是当前时间
SQL*Plus可以在缓存区中存储用户最近执行的命令。通过在缓存区中存储这些命令,用户可以重新调用、编 辑或运行那些最近输入的SQL语句。编辑缓存区最常用的方法是将缓存区中的内容传递到Windows记事本中 进行编辑。
保存缓存到文件中:save file_name [create ] | [replace] | [append] ;
例如: save C:\orclexmp\employee.sql
使用命令:EDIT 可以对文本内容进行编辑
例如: edit c:\orclexmp\employee.sql
使用命令:GET命令把一个命令文件的内容放进缓存区使用。
语法形式: Get file_name [.ext] [list|nolist]
SQL> get c:\orclexmp\employee.sql 说明:这里取到缓存中,
1* select empno,ename,sal from scott.emp
SQL> / 说明:使用 / 执行缓存中的命令
注意:/执行存储在缓存区中最近执行的SQL命名。
使用命令:LIST查看缓存区中最近执行的SQL命令
说明:在查询语句中,允许使用变量替代查询条件语句中的常量值,形式为&变量名。
例如:select empno,ename,sal from scott.emp where sal > &s;
使用命令:CLEAR BUFFER清除缓存区中的内容。