Oracle03:Oracle数据库管理工具SQL Plus

1.1 Oracle数据库管理工具SQL Plus

1、SQL Plus简介

SQL  Plus是一个工具软件,可在其中输入SQL语句或SQL  Plus的指令

2、启动SQL  Plus工具

Oracle数据库安装完成后,Oracle系统会提供这个数据库管理工具SQL Plus

(1)在Oracle9i和10g中启动SQL Plus

点击【开始】菜单——选择【程序】——找到【Oracle】目录——在目录中找到【SQL Plus】,双机即可打开。

启动后会弹出窗口,提示输入用户名、口令和主机字符串

(2)在Oracle11g中启动SQL Plus

在Oracle11g中不会再打开一个单独的SQL*Plus对话框,而是打开一个类似DOS的对话窗口。

  • 首先,启动SQL Plus工具,如下图

  • 输入用户名scott和密码tiger,按回车即可连接到Oracle11g数据库。在SQL>后数据指令即可执行

输入select * from dept;查询dept表看看。

1.2 SQL Plus的指令

1、desc指令

该指令可以获取表的列属性信息。是description的缩写。

例如:使用scott用户登录之后,查看sott用户默认拥有的表dept。

我们可以看到,通过的说辞指令我们查到了dept表的列信息。

2、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指令打开后又可以正常显示。

3、run或/指令

可以执行缓冲区中的SQL语句,也就是执行上一次执行过的SQL,可以看到SQL和数据结果

run 可以看到SQL语句和数据

/   只看到数据,看不到SQL语句

4、L(list)指令

该指令用于查看缓冲区中上一次执行的SQL语句

注意:在SQL语句的第三行前面有一个*号,表示可以修改该行

      输入行号可以改变*号所在行

5、Ch(ange)指令和n(next)指令

该指令用来修改缓冲区中的某行SQL

n表示行号,后面直接跟着要修改的内容

6、附加a指令

该指令可以在缓冲区中的SQL语句某行的末尾添加语句或属性

例如:查询dept表中的dname列,然后使用list查看缓冲区SQL,最后用a指令添加查询内容:部门位置。在用run指令运行

7、del指令

该指令用于删除缓冲区中的某行SQL,语法:del n(n为行号)

例如:查看emp表中job为MANAGER的信息,在用del指令删除条件行

8、set line指令

该指令用来设置整行数据的显示宽度,格式:set line 80-指定值

80为最小宽度

例如:查询emp表中的数据

设置行宽度之后,显示的数据就不会因为换行而凌乱

9、spool指令

该指令的作用是把输入的SQL语句和查询的结果存储到指定文件中

例如:先查看spool的状态是否开启:show spool;然后使用:spool 路径 来开启spool状态并指定保存路径,再执行SQL语句,最后关闭spool状态:spool off

此时在指定路径下会生成一个文件,文件中数据如下

注意:指令spool off执行后,数据才会存储到指定文件中,否则为空文件

  • 7
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值