常用的SQL*Plus命令

连接命令:
connect:进行用户切换或连接到新的数据库;
conn[ect] [username]/[password][@hoststring][as sysdba/sysoper];

disconnect:断开与数据库的连接;
disc[onnect]

exit:断开与数据库的连接,同时会退出SQL*Plus;

quit:

显示当前用户名:show user;

修改自身密码:passw[ord]
修改其他用户密码(以sys用户):alter user username identified by newpassword;

创建用户:create user username identified by password;
删除用户(无标无任何数据):drop user username;

解锁:alter user username account unlock;
加锁:alter user username account lock;
编辑命令:

在SQL*Plus中执行SQL语句、PL/SQL程序时,输入的SQL语句和PL/SQL程序代码会暂时存放到SQL缓冲区中;
输入SQL语句:
在语句最后加分号,并按回车,则立即执行该语句;
语句输入结束后回车,换行后再按回车,则结束SQL语句输入但不执行该语句;
语句输入结束后按回车,换行后按斜杠(/),立即执行该语句;
输入完PL/SQL程序,回车换行后:
按点号(.),则结束输入,但不执行;
输入斜杠(/),则立即执行;

显示缓冲区:
l[ist]

编辑缓冲区:
a[ppend]     —将指定的文本追加到缓冲区内当前行的末尾;
c[hange]     —修改缓冲区中当前行的文本;
del          —删除缓冲区中当前行的文本;
n            —用数值定位缓冲区中的当前行;
i[nput]      —在缓冲区当前行的后面新增加一行文本;
ed[it]       —以文本编辑器方式打开缓冲区,进行编辑;
注意:使用ed[it]命令时,缓冲区中必须存在信息;

执行缓冲区:
r[un] 
/

清除缓冲区:
cl[ear] buff[er]

edit: 用来编辑缓冲区或者指定磁盘文件中的SQL语句或者PL/SQL块;

ed[it] [file_name[.ext]];

file_name:要编辑的磁盘文件名;
          若不指定file_name参数的值,则表示编辑SQL缓冲区中的最近一条SQL语句或PL/SQL块;

执行edit命令后,SQL*Plus工具将打开一个包含SQL语句或PL/SQL块的记事本,用户可以在记事本环境下编辑SQL语句或PL/SQL块;
文件操作命令:

将经常执行的SQL*Plus命令、SQL语句和PL/SQL程序存储到SQL脚本文件(以.sql为后缀)中,然后执行SQL脚本文件;
使用脚本文件的好处:可以降低命令输入量,可以避免输入错误;
脚本文件的创建:
save: 实现将SQL缓冲区中的最近一条SQL语句或PL/SQL块保存到一个文件中;

save file_name;

file_name:表示要保存的文件名;

如果不为保存的文件指定路径,则该文件会保存在Oracle系统安装的主目录下;
如果不为保存的文件指定扩展名,则默认扩展名为SQL,即保存的文件为第一个SQL脚本文件;

脚本文件的装载与编辑:
get: 实现把一个SQL脚本文件的内容放进SQL缓冲区;

get [file] file_name[.text] [list | nolist];

file_name:要检索的文件名;
           若省略了文件的扩展名,则默认文件的扩展名为SQL;
list:指定文件的内容加载到缓冲区时显示文件的内容;
nolist:指定文件的内容加载到缓冲区时不显示文件的内容;

如果file_name参数不包括被检索文件的路径,则SQL*Plus工具会在Oracle系统安装的主目录下检索指定文件;
在SQL*Plus找到指定文件后,会把文件中的内容加载到SQL*Plus缓冲区,并显示该文件的内容;

脚本文件的执行:
start和@: 都可以用来执行一个SQL脚本文件;

sta[rt] {url|file_name[.text]} [arg ···];
@ {url|file_name[.text]} [arg ···];

url:表示要执行的SQL脚本文件的路径;
file_name:表示包含SQL脚本的文件名;
arg:其他参数;

脚本文件的注释:
remark: 单行注释,放在一行语句的头部,表示该行为注释;

rem[ark]

--:单行注释;
/*……*/:多行注释;

--或者/* */可以用于PL/SQL,但rem[ark]不可以;

spool: 可以把查询结果输出到指定文中;

spo[ol] [file_name[.ext] [cre[ate] | rep[lace] | app[end] | off | out;

file:用于指定脱机文件的名称,默认的文件扩展名为lst;
cre[ate]:表示创建一个新的脱机文件,这也是spool命令的默认状态;
rep[lace]:表示替代已经存在的脱机文件;
app[end]:表示把查询结果附加到一个已经脱机文件中;off|out:表示关闭spool输出;
交互式命令:

替换变量:

&variable_name

如果替换变量为数值类型时,可以直接引用;
如果替换变量为字符型或日期型,则需将替换变量用单引号引起来;

定义替换变量:

accept variable [datatype] [format format] [prompt text] {hide};

prompt:指定提示值;
hide:隐藏输入,以便于用户输入替换变量的值;

是否显示用值替换替代变量前后的命令文本:
set verify on|off;

prompt:用于输出提示信息,引导用户进行操作;
pause:用于暂停脚本文件的运行;

查看替换变量:
define: 用来定义一个用户变量并且可以分配给它一个char值;

def[ine] [variable_name] | [variable = text];

variable_name:表示定义的变量名;
text:变量的char值;

清除替换变量:

undefine variable_name;

绑定变量: 指在SQL*Plus中定义,在PL/SQL程序中使用的变量;

var[ible] variable_name type;

在PL/SQL中引用::variable_name;
赋值:execute :variable_name:=value;
显示:print variable_name;
显示与设置环境变量:

show: 用来显示SQLPlus系统变量的值或SQLPlus环境变量的值;

sho[w] option;

option:表示要显示的系统选项;
常用的选项有:all、parameters[parameter_name]、sga、spool、user;

set: 用来设置SQL*Plus环境变量的值;

set autotrace [on|off|traceonly][explain][statistics]

time:是否在sql*plus命令提示符之前显示时间,默认off 
timing:是否显示sql语句的执行时间,默认off

常用环境变量:
arraysize     —从数据库中提取的行数,默认15 
autocommit    —是否自动提交dml语句,默认off
colsp         —选定列之间的分隔符号,默认空格
feedback      —显示反馈行信息的最低行数,默认6 
heading       —是否显示列标题,默认on 
linesize      —行长度,默认80
pagesize      —每页所显示的行数,默认14
serveroutput  —是否显示执行dbms_output.put_line命令的输出结果,默认off
autotrace     —是否为成功执行的dml语句产生一个执行报告
格式化命令:

column: 实现格式化查询结果、设置列宽度、重新设置列标题等功能;

col[umn]  [column_name | alias | option];

column_name:用于指定要设置的列的名称;
alias:用于指定列的别名,通过它可以把英文列标题设置为汉字;
options:用于指定某个列的显示格式;

如果在column后面未指定任何参数,则将显示SQL*Plus环境中所有列的当前定义属性;
如果在column后面指定某个列名,则显示指定列的当前定义属性;
option选项的值 说明
clear 清楚指定里所设置的显示属性,从而恢复列使用默认的显示属性
format 格式化指定的列
heading 定义列的标题
justify 调整列标题的对齐方式,默认:数值类型的列为右对齐,其他类型的列为左对齐
null 指定一个字符串,如果列的值为null,则有该字符串代替
print/noprint 显示列标题或隐藏列标题,默认为print
on/off 控制定义的显示属性的状态,off表示定义的所有显示属性都不起作用,默认为on
wrapped 当字符串的长度超过显示宽度时,将字符串的超出部分折叠到下一行显示
word_wrapped 表示从一个完整的字符处折叠
truncated 表示截断字符串尾部

ttitle和btitle: 用来设置打印时每页的顶部和底部标题;

tti[tle] [printspec [text|variable]···] | [off|on];
btitle [printspec [text|variable]···] | [off|on];

text:用于设置输出结果的头标题;
variable:用于在头标题中输出相应的变量值;
off:表示禁止打印头标题;
on:表示允许打印头标题;
printspec选项的值 说明
col 指定当前行的第几列打印头部标题
skip 跳到从下一行开始的第几行,默认为1
left 在当前行中左对齐打印数据
center 在当前行中间打印数据
right 在当前行中右对齐打印数据
bold 以黑体打印数据

break: 用于去掉重复的行以及断点处跳跃指定的行数;

break on column[|alias|row][skip n|dup|page] on..[on report];

page:表示遇到断点时产生新的一页;
skip n:表示遇到断点时跳跃n行;
duplicate:显示重复值;
其他常用命令:

help: 用来帮助用户查询指定命令的选项;即可以向用户提供被查询命令的标题功能描述缩写形式和参数选项(包括必选参数和可选参数)等信息;

help|? [topic]

?:表示一个命令的部分字符;
   这样就可以通过提供命令的部分字符以模糊查询的方式来查询命令格式;
topic:表示将要查询的命令的完整名称;
若省略“?”和“topic”参数,直接执行help命令,则会输出help命令本身的语法格式及其功能描述信息;

eg: 使用help index命令来查看SQL*Plus命令清单,具体代码和运行结果如下:常用的SQL*Plus命令_第1张图片
describe: 用来查询指定数据对象的组成结构;可以查询表和视图的结构,查询结果就可以列出各个列的名称、是否为空及类型等属性;还可以查询过程、函数和程序包等PL/SQL对象的规范;

desc[ribe] object_name;

object_name:表示将要查询的对象名称;
#desc object_name:可以用来随时查看数据对象的结构;

你可能感兴趣的:(Oracle)