Oracle数据库管理工具SQL Plus入门指南
Oracle数据库管理工具SQL Plus入门指南
SQL Plus是Oracle数据库的重要管理工具,它允许用户通过命令行界面输入SQL语句和管理指令,进行数据库的日常维护和管理。本文将详细介绍SQL Plus的启动方法及其常用指令的使用,帮助读者掌握这一强大的数据库管理工具。
1.1 Oracle数据库管理工具SQL Plus
SQL Plus简介
SQL Plus是一个工具软件,可在其中输入SQL语句或SQL Plus的指令。它是Oracle数据库管理员和开发人员常用的命令行工具,提供了丰富的功能来管理和操作数据库。启动SQL Plus工具
Oracle数据库安装完成后,Oracle系统会提供这个数据库管理工具SQL Plus。不同版本的Oracle在启动方式上略有差异:
在Oracle9i和10g中启动SQL Plus
点击【开始】菜单——选择【程序】——找到【Oracle】目录——在目录中找到【SQL Plus】,双机即可打开。启动后会弹出窗口,提示输入用户名、口令和主机字符串。在Oracle11g中启动SQL Plus
在Oracle11g中不会再打开一个单独的SQL*Plus对话框,而是打开一个类似DOS的对话窗口。首先,启动SQL Plus工具,如下图所示。输入用户名scott和密码tiger,按回车即可连接到Oracle11g数据库。在SQL>后数据指令即可执行。输入select * from dept;
查询dept表看看。
1.2 SQL Plus的指令
desc指令
该指令可以获取表的列属性信息。是description的缩写。例如:使用scott用户登录之后,查看sott用户默认拥有的表dept。我们可以看到,通过的说辞指令我们查到了dept表的列信息。column指令
column对列或列输出的值进行格式化,使表的数据显示的更人性化。语法格式如下:Col[umn] [{column|expr}[option....]]
option包括如下参数:FOR[MAT] format
CLE[AR]
HEA[DING]text
JUS[TIFY]{L[EFT]|C[ENTER]|R[IGHT]}
NEWL[INE]
NOPRI[NT]|PRI[NT]
NUL[L]text
ON|OFF
接下来我们依次来学习这些指令的用法:
(1)FOR[MAT]format
该指令可以对列宽度进行设置。首先查询表salgrade的全部信息:该表中每个列的数据在显示时占用了过多的宽度,使用column来控制列宽。例如1:格式化number类型的数据(不带小数点)从以上例子可以看出,column可以对列值说占的宽度进行格式化,每个9代表一位数字例如2:格式化number类型数据(带小数点)例如3:查看user_objects中对象类型为TABLE的object_name,object_type,并对字符类型数据进行格式化。用字母a对字符进行格式化,a20表示字符长度为20例如4:在salgrade表中的losal是表示工资,对于显示的数字就不明显,不知道是那种货币值,就可以使用$来进行格式化例如5:数据库会安装在不同的国家,我们希望货币值用自己国家的标识来表示,则使用L来进行格式化
(2)CLE(AR)
该指令用于删除不需要的列的格式化设置例如:删除对salgrade表中losal和hisal列的格式化再次对salgrade表进行查询可以看出之前的格式化设置没有了
(3)HEA[DING] text
该指令可以对列名进行重命名例如:对salgrade表中的losal和hisal列进行重命名
(4)JUS[TIFY]{L[EFT]|C[ENTER]|R[IGHT]}
该指令用于设置列名的对齐方式,靠左、居中、靠右例如:查询dept表的所有数据显示
(5)NEWL[INE]
该指令可以把某列后的所有列显示在另一行,不常用,因为该指令反而会使数据显示凌乱例如:把dept表的loc列显示在下一行
(6)NOPRI[NT]|PRI[NT]
该指令可以使格式化的列数据不显示或显示例如:是dept表中的loc列不显示
(7)NUL[L] text
该指令可以使某列中的空值显示为设置的text文本例如:先给dept表中添加一条有空值的数据,把空值格式化为文本kong
(8)ON|OFF
该指令可以使某列的格式化操作关闭,不生效,但不会报错使用off关闭格式化后,在设置null指令发现不生效,当不会报错;on指令打开后又可以正常显示。
run或/指令
可以执行缓冲区中的SQL语句,也就是执行上一次执行过的SQL,可以看到SQL和数据结果run 可以看到SQL语句和数据/ 只看到数据,看不到SQL语句L(list)指令
该指令用于查看缓冲区中上一次执行的SQL语句注意:在SQL语句的第三行前面有一个号,表示可以修改该行输入行号可以改变号所在行Ch(ange)指令和n(next)指令
该指令用来修改缓冲区中的某行SQLn表示行号,后面直接跟着要修改的内容附加a指令
该指令可以在缓冲区中的SQL语句某行的末尾添加语句或属性例如:查询dept表中的dname列,然后使用list查看缓冲区SQL,最后用a指令添加查询内容:部门位置。在用run指令运行del指令
该指令用于删除缓冲区中的某行SQL,语法:del n(n为行号)例如:查看emp表中job为MANAGER的信息,在用del指令删除条件行set line指令
该指令用来设置整行数据的显示宽度,格式:set line 80-指定值80为最小宽度例如:查询emp表中的数据设置行宽度之后,显示的数据就不会因为换行而凌乱spool指令
该指令的作用是把输入的SQL语句和查询的结果存储到指定文件中例如:先查看spool的状态是否开启:show spool;然后使用:spool 路径 来开启spool状态并指定保存路径,再执行SQL语句,最后关闭spool状态:spool off此时在指定路径下会生成一个文件,文件中数据如下注意:指令spool off执行后,数据才会存储到指定文件中,否则为空文件