本章内容讲解SQLPlus的常用命令使用方法,参数的设置,帮助的使用,详细讲解如下:
登录SQL*Plus
DOS方式登录SQL*Plus
C:>sqlplus 提示输入用户名、密码
C:>sqlplus scott/tiger 连到默认数据库,注册表或环境变量中设 定的ORACLE_SID
C:>sqlplus scott/tiger@sid
WINDOW方式登录SQL*PLUS
C:>sqlplusw
C:>sqlplusw scott/tiger
C:>sqlplusw scott/tiger@sid
查看sqlplus命令的用法:
C:>sqlplus -?
退出SQL*PLUS
SQL>quit或exit
Windows方式登录SQL*Plus
主机字符串:利用网络助手配置的本地网络服务名,如果没有输入,则登陆到默认数据库
SQL*Plus
命令大致分为
4
类:帮助命令、人机交互命令、编辑命令和报表命令
SQL*Plus提供的人机交互命令
命令(缩写) |
说明 |
Accept(Acc) |
读取整行数据并存储在给定的一个变量中 |
Clear(Cl) |
清楚缓冲区或屏幕内容 |
Connect(Conn) |
连接到数据库 |
DisConnect(Disc) |
断开到数据库的连接 |
Describe(Desc) |
显示表、视图或其他oracle对象的结构信息 |
Edit(Ed) |
打开文本编辑器 |
Host(Hos) |
执行主机命令 |
Pause(Pau) |
输出一行信息,并等待用户输入回车 |
Prompt(Pro) |
输出提示信息 |
SQLPLUS |
登录SQL*PLUS |
Set |
修改SQL*PLUS 系统变量和环境变量 |
Show(Sho) |
显示SQL*PLUS 系统变量或当前环境变量 |
Startup |
启动数据库 |
Spool |
捕获查询结果并存储到一个文件中 |
Shutdown |
关闭数据库 |
Exit / Quit |
退出SQL*PLUS |
SQL> conn system/admin //连接到数据库
SQL>show user; 显示当前用户
SQL>select sysdate from dual; //显示系统当前时间
SQL>select * from all_users; //当前数据库系统中的所有用户信息
SQL>show sga //显示SGA信息
SQL>help cl //查看cl/clear命令的使用方法
SQL>cl scr //清空屏幕输出
SQL>desc dept //查看dept表的表结构
SQL>select * from dept;
SQL>edit //用系统编辑器打开缓冲区内容
编辑为select * from dept where deptno > 20; 保存
关闭编辑器,会在SQL*PLUS中显示编辑后的语句,分号回车执行
SQL>save sql01.txt //保存缓冲区内容到文件,默认路径c:document and setting登录用户名
SQL>hos dir //执行DOS的dir命令
SQL>save c:sql01.txt 保存缓冲区内容到指定目录
SQL>@c:sql01.txt //执行脚本文件,可以是任何文本文件
通过
spool
命令将屏幕上的内容输出到指定的文件
先创建一个文件,开始假脱机输出
SQL> SPOOL c:L4spool.txt
SQL> select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> spool off
假脱机结束,将中间的操作保存到指定的文件中去
命令(缩写) |
说明 |
Append(A) |
在缓冲区中当前行的最后添加文本 |
Change(C) |
用新文本代替旧文本 |
Del |
删除缓冲区的一行或多行SQL语句 |
Get |
调用SQL文本,载入缓冲区 |
List(L) |
列表显示缓冲区的SQL命令 |
Run(R) |
执行当前缓冲区的命令 |
Save(Sav) |
把缓冲区的内容保存为SQL文件 |
@脚本名> |
载入脚本并执行 |
EXECUTE |
执行pl/sql过程和程序包 |
SQL>select * from emp;
SQL>append where sal > 2000
SQL>/ 执行缓冲区中的内容
SQL>select * from emp
where sal > 2000
and job=‘MANAGER’;
SQL>c /MANAGER/ANALYST
SQL>l 列出缓冲区内容
SQL>l 2 列出缓冲区第2行的内容
SQL>l 2 3 列出缓冲区第2至3行的内容
SQL>l
SQL>del 3 删除缓冲区第3行的内容
SQL>a and job=‘ANALYST’; 往缓冲区追加行
SQL>r 执行缓冲区内容同”/”
SQL>l
SQL>del 2 3 删除缓冲区第2至3行的内容
SQL>/
SQL>edit 调用默认编辑器编辑缓冲区内容
SQL>/
SQL>save c:selectemp.txt 保存缓冲区内容
SQL>get c:selectemp.txt 读取文件内容到缓冲区,但不执行
SQL>/
SQL>@ c:selectemp.txt 执行脚本文件
SQL*PLUS环境参数
可以在
SQL*PLUS
中修改默认的编辑器:
SQL> DEFINE _editor=Notepad.exe
修改后,我们就可以在自己指定的编辑器中对
SQL
语句进行修改了。
SQL*Plus
的环境参数可以方便的规划我们的
SQL
查询结果和操作
通过
show all
显示当前所有环境变量的值,可通过两种方式设置:
通过命令进行设置
Set ECHO ON
Set pagesize 15
Set linesize 100
在SQL*PLUS中通过菜单中的”选项”进行设置
环境参数的使用
参数 |
作用 |
Feedback (feed) |
是否显示出查询纪录的行数 |
Heading (hea) |
是否显示列标题 |
Linsize (lin) |
设置sql*plus中每行显示的最多字符数 |
Long |
设置显示long,clob和nclob数据类型和拷贝long类型值的最大字节宽度,最大为2G字节 |
Newpage (newp) |
设置报表每页首行标题的空行数,如果为none, 报表页之间不留空行 |
NULL |
设置查询结果中值为null时的替换值 |
Numformat (numf) |
设置数字值的默认显示格式 |
NUMWIDTH (num) |
设置数字值的默认显示宽度 |
PAGESIZE (pages) |
设置每页显示的行数,设置为0时,将不显示标题、每行前导空行、分页行等格式信息 |
HEADSEP (heads) |
定义列标题分隔符号,默认为“|” |
TIME (ti) |
控制是否在提示符sql>前显示系统当前时间 |
环境参数的使用举例
SQL>set echo on 显示start或@执行的脚本时的每个SQL命令
SQL>@c:selectemp.txt
SQL>set feed on
SQL>select * from dept; 会显示查询到的行数
SQL>set feed off
SQL>/ 不显示行数
SQL>insert into dept (deptno,dname) values(50,’张三’);
SQL>select * from dept
SQL>set null ‘不详’
SQL>/ 地址字段(loc)的值显示为不详
SQL> set numf $9,999.99 //设置数值类型的字段值得显示格式
SQL>select ename,price from emp
SQL>set linesize 50 //每行显示的最大字符数
SQL>select * from emp;
SQL>set linesize 200;
SQL>spool c:emp.txt
SQL>select * from emp
SQL>spool off
查看c:emp.txt
SQL*Plus提供的报表命令
命令(缩写) |
说明 |
TTITLE |
设置报表标题的格式 |
BTITLE |
设置报表页尾的是格式 |
COLUMN |
设置报表输出列的格式 |
SQL> TTITLE CENTER ‘部门列表';
SQL>COLUMN deptno
SQL> BTITLE ‘制表人: 张三经理';
SQL> select * from book;
•还可以通过col指令指定每列的宽度、列标题等
SQL>col deptno heading ‘部门编号’; 指定列标题
SQL>col dname heading ‘部门名称';
SQL>col loc format A20 heading ‘地址’; 指定列的长度
SQL>select * from dept;
SQL>col 查看所有的格式设置
SQL>col loc null ‘不详’; 指定某一列null值的替代职值
SQL>/
SQL>col dname jus center 列标题居中对齐,left/right
SQL>col loc noprint 地址(loc)不显示在屏幕上
SQL>col deptno format $9,999 修改数值类型列的输出格式
SQL>/
SQL>insert into dept values(51,’SALES’,’SHANGHAI’);
SQL>break on dname 屏蔽dname列的重复值
SQL>/
SQL>break 显示屏蔽的列
SQL>clear breaks 清除屏蔽的列值
本人从事软件项目开发20多年,2005年开始从事Java工程师系列课程的教学工作,录制50多门精品视频课程,包含java基础,jspweb开发,SSH,SSM,SpringBoot,SpringCloud,人工智能,在线支付等众多商业项目,每门课程都包含有项目实战,上课PPT,及完整的源代码下载,有兴趣的朋友可以看看我的在线课堂
讲师课堂链接:https://edu.csdn.net/lecturer/893