SQL*PLUS命令

SQL*Plus概述

SQL*Plus工具是随Oracle 数据库服务器或客户端的安装而自动进行安装的管理与开发工具,Oracle数据库中所有的管理操作都可以通过SQL*Plus工具完成,同时开发人员利用SQL*Plus可以测试、运行SQL语句和PL/SQL程序。


运行方式:

命令行方式

图形界面方式(GUI)

基于Web的iSQL*Plus方式


在SQL*Plus中执行的语句有3种:

SQL*Plus命令、SQL语句和PL/SQL程序


作用

输入、编辑、存储、提取、运行和调试SQL语句和PL/SQL程序

开发、执行批处理脚本 执行数据库管理

处理数据,生成报表,存储、打印、格式化查询结果

检查表和数据库对象定义

启动SQL*Plus 命令行方式:

语法:sqlplus [username]/[password][@connect_identifier]|[NOLOG]

SQL*Plus的退出:

EXIT或QUIT命令

SQL*Plus常用命令


(1)连接命令

CONNECT:进行用户切换或连接到新的数据库。

语法: CONN[ECT] [username]/[password][@hoststring]

DISC[ONNECT]:断开与数据库的连接。

注意:该命令作用仅仅是断开与数据库的连接,不退出SQL*Plus环境!

(2)编辑命令

在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]------以文本编辑器方式打开缓冲区,进行编辑。

执行缓冲区

R[UN] /

清除缓冲区

CL[EAR] BUFF[ER]

注意:使用ED[IT]命令时,缓冲区中必须存在信息

常用编辑命令

LIST命令

在SQL*PLUS中编辑SQL缓冲区中的SQL语句。

文件操作命令

通常,将经常执行的SQL*Plus命令、SQL语句和PL/SQL程序存储到SQL脚本文件(以.sql为后缀)中,然后执行SQL脚本文件。

使用脚本文件的好处: 可以降低命令输入量; 可以避免输入错误。

脚本文件的创建 SAV[E] filename [CREATE]|[REPLACE]|[APPEND]

脚本文件的装载与编辑 GET filename [LIST]|[NOLIST]

脚本文件的执行 STA[RT] filename @ filename

脚本文件的注释 REM[ARK]:单行注释,放在一行语句的头部,表示该行为注释。

--:单行注释。

/*......*/:多行注释。

常用文件命令

交互式命令

替换变量 使用替换变量 &variable_name

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

不希望每次执行时都为替换变量赋值,可以使用两个"&"。

DEFINE命令定义替换变量 使用DEFINE命令为当前SQL*Plus环境定义CHAR类型的替换变量,语法:

ACCEPT命令定义替换变量 可以自定义提示信息,以提示用户为替换变量输入值。语法:

PROMPT选项指定提示值,用HIDE选项隐藏输入,以便于用户输入替换变量的值。

复制代码
SQL> ACCEPT deno NUMBER PROMPT '请输入部门编号:'
SQL> SELECT empno
  2  FROM   emp 
  3  WHERE  deptno=&deno; 

查看替换变量 DEFINE SQL>DEFINE

清除替换变量 UNDEFINE variable_name

SQL>UNDEFINE dno

是否显示用值替换替代变量前后的命令文本: SET VERIFY ON|OFF

绑定变量

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

语法: VAR[IABLE] variable_name TYPE

说明:

在PL/SQL中引用: :variable_name

赋值:EXECUTE :variable_name:=value

显示:PRINT variable_name

与用户通信

PROMPT命令用于输出提示信息,引导用户进行操作。

PAUSE命令用于暂停脚本文件的运行。

显示与设置环境变量

显示所有环境变量 SQL>SHOW ALL

显示某个环境变量 SQL>SHOW variable_name

设置某个环境变量 SQL>SET variable_name=value

常用环境变量

ARRAYSIZE---从数据库中提取的行数,默认15

AUTOCOMMIT---是否自动提交DML语句,默认OFF

COLSP---选定列之间的分隔符号,默认空格

FEEDBACK---显示反馈行信息的最低行数,默认6

HEADING---是否显示列标题,默认ON

LINESIZE---行长度,默认80

LONG---LONG和LOB类型的显示长度,默认80

PAGESIZE---每页所显示的行数,默认14

SERVEROUTPUT---是否显示执行DBMS_OUTPUT.PUT_LINE命令的输出结果,默认OFF AUTOTRACE---是否为成功执行的DML语句产生一个执行报告

SET AUTOTRACE

ON\|OFF\|TRACEONLY\]\[EXPLAIN\]\[STATISTICS

TIME---是否在SQL*Plus命令提示符之前显示时间,默认OFF

TIMING---是否显示SQL语句的执行时间,默认OFF

格式化命令

对SQL语句或PL/SQL程序执行结果的显式格式进行设置。遵循以下规则:

格式化命令设置之后,将会一直起作用,直到会话结束或下一个格式化命令的设置;

每一次报表结束时,应该重新设置SQL*Plus为默认值;

如果为某个列指定了别名,必须使用该别名,不能使用列名。

COL[UMN]:控制列的输出显示格式。

其中,option的选项有:

CLE[AR]: 清除所有列的显示格式

FOR[MAT] format: 使用格式模型改变列的显示

HEA[DING] text: 设置列标题

JUS[TIFY] {align}: 调整列标题的位置居左(left)、居中(center)还是居右(right)

NO\]PRINT: 显式\[隐藏\]列标题 NULL \:在指定位置将空值位置显示为text TRUNCATED:删除第一行的字符串 WRAPPED: 换行 ![](https://i-blog.csdnimg.cn/direct/12b49090275f4710a459baee9a3580ed.png) ### 其它常用命令 显示数据库对象结构:DESC\[RIBE

清除屏幕内容 CLEAR SCREEN Shift+Delete

帮助命令:HELP

修改用户口令:PASSW[ORD] 注意:任何用户都可以修改自己的口令,只有DBA身份登录的用户才可修改其他用户的口令。

相关推荐
政沅同学2 分钟前
数据库实验报告 SQL SERVER 2008的基本操作 1
数据库
lyw2056192 分钟前
MySQL八股(自用)
数据库·mysql
MMMMMMMMMMemory1 小时前
pgsql14自动创建表分区
数据库·pgsql
文牧之1 小时前
PostgreSQL 配置设置函数
运维·数据库·postgresql
jllllyuz2 小时前
matlab实现蚁群算法解决公交车路径规划问题
服务器·前端·数据库
下雨天u3 小时前
maven dependencyManagement标签作用
java·数据库·maven
代码配咖啡3 小时前
国产数据库工具突围:SQLynx如何解决Navicat的三大痛点?深度体验报告
数据库
清酒伴风(面试准备中......)3 小时前
小白学编程之——数据库如何性能优化
数据库·oracle·性能优化
The Future is mine4 小时前
SQL Server中delete table和truncate table删除全表数据哪个快?
数据库
MZWeiei4 小时前
Spark SQL 运行架构详解(专业解释+番茄炒蛋例子解读)
大数据·分布式·sql·架构·spark