本章内容讲解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提供的人机交互命令
命令(缩写) | 说明 |
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 //执行脚本文件,可以是任何文本文件
先创建一个文件,开始假脱机输出
SQL> SPOOL c:\L4\spool.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环境参数
通过命令进行设置
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