SQL*PLUS命令

news/2025/3/1 20:50:54/

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 empno2  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>:在指定位置将空值位置显示为text

TRUNCATED:删除第一行的字符串

WRAPPED: 换行

其它常用命令

显示数据库对象结构:DESC[RIBE]

清除屏幕内容 CLEAR SCREEN Shift+Delete

帮助命令:HELP

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


http://www.ppmy.cn/news/1575865.html

相关文章

k8s环境搭建(从创建完一台虚拟机开始)

注意&#xff1a; 在这之前&#xff0c;所有主机需要关闭防火墙&#xff01;&#xff01;&#xff01; 1. docker 安装 所有主机都需要 1.1配置仓库 vim /etc/yum.repos.d/docker.repo https://mirror.tuna.tsinghua.edu.cn/docker-ce/linux/rhel/9/x86_64/stable/ 1.2 下…

Linux下shell程序报cat写入错误:断开的管道

Linux下shell程序报cat写入错误&#xff1a;断开的管道 1. 原因分析2. 解决方法3. 示例场景4. 总结 在 Linux 中使用 cat 命令时&#xff0c;如果遇到“断开的管道”&#xff08;Broken pipe&#xff09;错误&#xff0c;通常是因为管道&#xff08;|&#xff09;或重定向的目标…

【华为OD机考】华为OD笔试真题解析(14)--开心消消乐

题目描述 给定一个N行M列的二维矩阵&#xff0c;矩阵中每个位置的数字取值为0或1&#xff0c;矩阵示例如下&#xff1a; 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1现需要将矩阵中所有的1进行反转为0&#xff0c;规则如下&#xff1a; 当点击一个1时&#xff0c;该1被反转为0&#xf…

Opencv 图像形态学操作

3.1 形态学-腐蚀操作 img cv2.imread(CSDN.png) cv2.imshow(CSDN, img) cv2.waitKey(0) cv2.destroyAllWindows如果腐蚀核的覆盖区域内的所有像素值都满足条件&#xff08;阈值&#xff09;&#xff0c;则中心像素的值保持不变&#xff1b;如果有任何像素值不满足条件&#x…

Java基础语法练习33(单例模式:饿汉式和懒汉式)

单例模式&#xff1a;1.饿汉式 2.懒汉式 饿汉式&#xff1a; 步骤如下&#xff1a; 1.构造器私有化&#xff08;防止new&#xff09; 2.类的内部创建对象 3.向外暴露一个静态的公共方法 个人理解&#xff1a;饿&#xff08;等不及&#xff09;就是已经创建好了对象等你来…

Mac 版 本地部署deepseek ➕ RAGflow 知识库搭建流程分享(附问题解决方法)

安装&#xff1a; 1、首先按照此视频的流程一步一步进行安装&#xff1a;(macos版&#xff09;ragflowdeepseek 私域知识库搭建流程分享_哔哩哔哩_bilibili 2、RAGflow 官网文档指南&#xff1a;https://ragflow.io 3、RAGflow 下载地址&#xff1a;https://github.com/infi…

基于 Spring Boot +VUE的 “机动车号牌管理系统” 系统的设计与实现

大家好&#xff0c;今天要和大家聊的是一款基于 Spring Boot 的 “机动车号牌管理系统” 系统的设计与实现。项目源码以及部署相关事宜请联系我&#xff0c;文末附上联系方式。 项目简介 基于 Spring Boot 的 “机动车号牌管理系统” 系统设计与实现的主要使用者分为 管理员 …

av_find_input_format 和 AVInputFormat 的关系

1. av_find_input_format 和 AVInputFormat 的关系 av_find_input_format 是 FFmpeg 中的一个函数&#xff0c;用于根据输入格式的名称&#xff08;如 "mp4"、"wav"、"avfoundation" 等&#xff09;查找对应的输入格式结构体 AVInputFormat。 …