Oracle 19c入门学习教程,从入门到精通,SQL*Plus命令详解:语法、使用方法与综合案例 -知识点详解(4)

SQL*Plus命令详解:语法、使用方法与综合案例

SQLPlus 是 Oracle 数据库自带的命令行工具,用于执行 SQL 语句、PL/SQL 块以及管理数据库会话。本章将系统讲解 SQLPlus 的核心命令及其使用方法,并提供详细的安装说明、语法解析、注释丰富的示例代码及综合性实战案例。


一、SQL*Plus 安装与配置(以 Windows 和 Linux 为例)

1. 安装前提

  • 已安装 Oracle Database(如 Oracle 19c/21c)或 Oracle Instant Client。
  • 若仅需连接远程数据库,可只安装Oracle Instant Client

2. 安装步骤(Windows)

方法一:通过 Oracle Database 安装包
  1. 下载 Oracle Database 安装包(如 Oracle 19c for Windows x64)。

  2. 运行安装程序,选择“桌面类”或“服务器类”。

  3. 安装完成后,SQL*Plus 自动包含在%ORACLE_HOME%\bin目录中。

  4. 配置环境变量:

    ORACLE_HOME=C:\app\oracle\product\19.0.0\dbhome_1PATH+=%ORACLE_HOME%\bin
  5. 打开命令提示符,输入:

    sqlplus /nolog
方法二:仅安装 Instant Client(轻量级)
  1. 下载 Oracle Instant Client Basic + SQL*Plus 包。

  2. 解压到目录(如C:\instantclient_19_20)。

  3. 设置环境变量:

    PATH=C:\instantclient_19_20 TNS_ADMIN=C:\instantclient_19_20\network\admin# 可选,用于 tnsnames.ora
  4. 创建

    tnsnames.ora

    文件(若使用 TNS 连接):

    ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orclpdb1) ) )
  5. 启动 SQL*Plus:

    sqlplus username/password@ORCL

3. Linux 安装(简要)

# 下载 instantclient-basic-linux.x64-19.x.x.zip# 和 instantclient-sqlplus-linux.x64-19.x.x.zipunzipinstantclient-basic-linux.x64-19.20.0.0.0dbru.zipunzipinstantclient-sqlplus-linux.x64-19.20.0.0.0dbru.zipexportLD_LIBRARY_PATH=./instantclient_19_20:$LD_LIBRARY_PATHexportPATH=./instantclient_19_20:$PATHsqlplus user/pass@//localhost:1521/orclpdb1

二、SQL*Plus 与数据库的交互

1. 启动与连接

-- 方式1:启动后连接sqlplus/nologSQL>CONNECTscott/tiger@orcl-- 方式2:直接连接sqlplus scott/tiger@orcl-- 方式3:操作系统认证(需配置)sqlplus/assysdba

2. 执行 SQL 与 PL/SQL

-- 执行单条 SQLSELECT*FROMemp;-- 执行 PL/SQL 块BEGINDBMS_OUTPUT.PUT_LINE('Hello from PL/SQL!');END;/

注意:PL/SQL 块必须以/结尾才能执行。


三、SET 命令简介与常用设置

SET命令用于控制 SQL*Plus 的运行环境。

常用 SET 选项

选项作用默认值
PAGESIZE n每页显示行数14
LINESIZE n每行字符数80
FEEDBACK ON/OFF显示返回行数ON
VERIFY ON/OFF显示替换变量前后值ON
ECHO ON/OFF显示脚本中的命令OFF
HEADING ON/OFF是否显示列标题ON
SERVEROUTPUT ON显示 DBMS_OUTPUT 输出OFF

示例:设置查询环境

-- 设置每页50行,每行200字符SETPAGESIZE50SETLINESIZE200-- 关闭反馈信息(如 "7 rows selected.")SETFEEDBACKOFF-- 开启 DBMS_OUTPUT(用于 PL/SQL 调试)SETSERVEROUTPUTON-- 关闭变量验证(避免重复显示)SETVERIFYOFF-- 示例查询SELECTempno,ename,jobFROMempWHEREdeptno=20;

四、常用 SQL*Plus 命令详解

1. HELP 命令

显示 SQL*Plus 命令帮助。

HELPINDEX-- 列出所有可用命令HELPSET-- 查看 SET 命令帮助HELPCOLUMN-- 查看 COLUMN 命令帮助

2. DESCRIBE 命令(DESC)

查看表、视图或存储过程的结构。

-- 查看 emp 表结构DESCemp;-- 输出示例:-- Name Null? Type-- -------- -------- --------------- EMPNO NOT NULL NUMBER(4)-- ENAME VARCHAR2(10)-- JOB VARCHAR2(9)-- MGR NUMBER(4)-- HIREDATE DATE-- SAL NUMBER(7,2)-- COMM NUMBER(7,2)-- DEPTNO NUMBER(2)

3. SPOOL 命令

将屏幕输出保存到文件。

-- 开始记录到 report.txtSPOOL report.txt-- 执行查询SELECTCOUNT(*)FROMemp;SELECTSYSDATEFROMdual;-- 停止记录并关闭文件SPOOLOFF

文件默认保存在当前工作目录。

4. 其他常用命令

-- 清屏(仅 Windows/Linux 终端支持)CLEAR SCREEN-- 显示当前用户SHOWUSER-- 显示参数设置SHOWPAGESIZESHOWLINESIZE-- 退出 SQL*PlusEXIT或 QUIT

五、格式化查询结果

1. COLUMN 命令

用于格式化特定列的显示方式。

语法:
COLUMNcolumn_name[option]
常用选项:
  • FORMAT A<n>:字符型,宽度 n
  • FORMAT 99999:数字型,指定位数
  • HEADING '新标题'
  • JUSTIFY LEFT/RIGHT/CENTER
  • WRAP / WORD_WRAPPED:自动换行
示例:
-- 格式化 emp 表查询输出COLUMNename HEADING"Employee Name"FORMAT A15 JUSTIFY CENTERCOLUMNsal HEADING"Salary ($)"FORMAT $99,999.99COLUMNhiredate HEADING"Hire Date"FORMAT A12SELECTename,sal,hiredateFROMempWHEREdeptno=10;-- 禁用某列格式COLUMNename CLEAR

2. TTITLE 和 BTITLE 命令

设置报表的页眉(Top Title)和页脚(Bottom Title)。

示例:
-- 设置页眉TTITLE CENTER'Employee Salary Report'SKIP2-- 设置页脚BTITLE CENTER'Confidential - Page &PAGE'-- 执行查询SELECTename,job,salFROMempORDERBYsalDESC;-- 清除标题TTITLEOFFBTITLEOFF

&PAGE是 SQL*Plus 内置变量,表示当前页码。


六、综合性实战案例

案例:生成部门工资汇总报告

目标:为 HR 部门生成一份格式化的部门工资汇总报告,包含页眉页脚、列格式、分页控制,并输出到文件。

-- 1. 设置环境SETPAGESIZE30SETLINESIZE120SETFEEDBACKOFFSETVERIFYOFFSETECHOOFF-- 2. 设置标题TTITLE CENTER'Department-wise Salary Summary Report'SKIP1-CENTER'Generated on '_DATE SKIP2BTITLE CENTER'Page &PAGE of Total Results'-- 3. 格式化列COLUMNdeptno HEADING"Dept No"FORMAT999COLUMNdname HEADING"Department Name"FORMAT A20COLUMNtotal_sal HEADING"Total Salary ($)"FORMAT $999,999.99COLUMNemp_count HEADING"Employees"FORMAT999-- 4. 开始输出到文件SPOOL dept_salary_report.txt-- 5. 执行汇总查询SELECTd.deptno,d.dname,COUNT(e.empno)ASemp_count,SUM(e.sal)AStotal_salFROMdept dLEFTJOINemp eONd.deptno=e.deptnoGROUPBYd.deptno,d.dnameORDERBYtotal_salDESCNULLSLAST;-- 6. 结束输出SPOOLOFF-- 7. 清理设置CLEARCOLUMNSTTITLEOFFBTITLEOFFSETFEEDBACKON

输出效果(dept_salary_report.txt 片段):

Department-wise Salary Summary Report Generated on 14-JAN-2026 Dept No Department Name Employees Total Salary ($) ------- -------------------- --------- ----------------- 20 RESEARCH 5 $10,875.00 30 SALES 6 $9,400.00 10 ACCOUNTING 3 $8,750.00 40 OPERATIONS 0 $.00 Page 1 of Total Results

七、总结

功能命令用途
环境设置SET控制输出格式、反馈等
结构查看DESC查看表/对象结构
输出重定向SPOOL保存结果到文件
列格式化COLUMN美化查询结果
报表标题TTITLE/BTITLE添加页眉页脚
帮助HELP获取命令帮助

掌握这些命令,可大幅提升 SQL*Plus 的使用效率,尤其适用于自动化脚本、报表生成和数据库日常维护。

⚠️ 注意:SQLPlus 是传统工具,现代开发推荐使用SQL DeveloperVS Code + Oracle 插件,但 SQLPlus 在脚本自动化和服务器无 GUI 环境中仍不可替代。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1171870.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Super Resolution适合新手吗?零基础部署全流程图文教程

Super Resolution适合新手吗&#xff1f;零基础部署全流程图文教程 1. 引言 1.1 AI 超清画质增强&#xff1a;从模糊到高清的智能跃迁 在数字图像处理领域&#xff0c;图像超分辨率&#xff08;Super Resolution, SR&#xff09; 技术正逐渐成为提升视觉体验的核心工具。无论…

Nanobrowser深度解析:构建下一代智能浏览器助手的完整指南

Nanobrowser深度解析&#xff1a;构建下一代智能浏览器助手的完整指南 【免费下载链接】nanobrowser Open source multi-agent browser automation tool with built-in Chrome extension 项目地址: https://gitcode.com/GitHub_Trending/na/nanobrowser 在当今数字化工作…

PETRV2-BEV模型实战:可视化工具使用与结果分析

PETRV2-BEV模型实战&#xff1a;可视化工具使用与结果分析 1. 引言 随着自动驾驶技术的快速发展&#xff0c;基于视觉的三维目标检测方法逐渐成为研究热点。PETR系列模型通过将相机视角&#xff08;perspective view&#xff09;特征与空间位置编码结合&#xff0c;在不依赖深…

FST ITN-ZH在供应链管理中的应用:单据信息标准化

FST ITN-ZH在供应链管理中的应用&#xff1a;单据信息标准化 1. 引言 在现代供应链管理系统中&#xff0c;数据的准确性与一致性是保障业务高效运转的核心要素。尤其是在采购、仓储、物流和财务等环节&#xff0c;大量纸质或电子单据&#xff08;如发票、入库单、出库单、合同…

Voice Sculptor情感控制详解:生成带情绪的语音内容

Voice Sculptor情感控制详解&#xff1a;生成带情绪的语音内容 1. 技术背景与核心价值 近年来&#xff0c;语音合成技术经历了从机械朗读到情感化表达的重大演进。传统的TTS系统往往只能输出单调、缺乏表现力的声音&#xff0c;难以满足影视配音、有声书、虚拟助手等对情感表…

开箱即用!DeepSeek-R1内置Web界面快速体验指南

开箱即用&#xff01;DeepSeek-R1内置Web界面快速体验指南 1. 项目背景与核心价值 随着大语言模型在逻辑推理、数学证明和代码生成等复杂任务中的表现日益突出&#xff0c;如何将高性能的推理能力部署到本地环境&#xff0c;成为开发者和研究者关注的重点。DeepSeek-R1-Disti…

Czkawka终极指南:快速释放Windows磁盘空间的完整方法

Czkawka终极指南&#xff1a;快速释放Windows磁盘空间的完整方法 【免费下载链接】czkawka 一款跨平台的重复文件查找工具&#xff0c;可用于清理硬盘中的重复文件、相似图片、零字节文件等。它以高效、易用为特点&#xff0c;帮助用户释放存储空间。 项目地址: https://gitc…

Windows系统调优新方案:NexusOptimizer深度配置完全指南

Windows系统调优新方案&#xff1a;NexusOptimizer深度配置完全指南 【免费下载链接】Atlas &#x1f680; An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atl…

看完就想试!Qwen镜像打造的萌宠插画作品展示

看完就想试&#xff01;Qwen镜像打造的萌宠插画作品展示 1. 引言&#xff1a;当大模型遇见童趣萌宠 在AI生成内容&#xff08;AIGC&#xff09;快速发展的今天&#xff0c;如何让技术更贴近生活、更具情感温度&#xff0c;成为开发者和创作者共同关注的方向。基于阿里通义千问…

鸣潮自动化工具终极指南:从零开始轻松掌握游戏辅助

鸣潮自动化工具终极指南&#xff1a;从零开始轻松掌握游戏辅助 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸上锁合成 自动肉鸽 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves 鸣潮自动化…

vllm资源管理:HY-MT1.5-1.8B GPU利用率优化

vllm资源管理&#xff1a;HY-MT1.5-1.8B GPU利用率优化 1. 背景与问题引入 随着大模型在翻译场景中的广泛应用&#xff0c;如何在有限的硬件资源下实现高效推理成为工程落地的关键挑战。特别是在边缘设备或成本敏感型服务中&#xff0c;模型的参数规模、推理速度与GPU资源占用…

bge-large-zh-v1.5保姆级教程:小白也能用云端GPU快速部署

bge-large-zh-v1.5保姆级教程&#xff1a;小白也能用云端GPU快速部署 你是不是也遇到过这样的情况&#xff1f;研究生做信息检索课题&#xff0c;导师推荐使用 bge-large-zh-v1.5 这个中文向量模型&#xff0c;说它在中文语义理解上表现非常出色。可一查实验室的GPU服务器&…

Tunnelto革命:彻底改变本地服务公网访问的游戏规则

Tunnelto革命&#xff1a;彻底改变本地服务公网访问的游戏规则 【免费下载链接】tunnelto Expose your local web server to the internet with a public URL. 项目地址: https://gitcode.com/GitHub_Trending/tu/tunnelto 想要将本地开发环境瞬间变身全球可访问的公共服…

Pot-Desktop:重新定义你的跨平台翻译和OCR体验

Pot-Desktop&#xff1a;重新定义你的跨平台翻译和OCR体验 【免费下载链接】pot-desktop &#x1f308;一个跨平台的划词翻译和OCR软件 | A cross-platform software for text translation and recognize. 项目地址: https://gitcode.com/pot-app/pot-desktop 在信息爆炸…

PingFangSC字体包:全网最全免费苹果平方字体资源完整指南

PingFangSC字体包&#xff1a;全网最全免费苹果平方字体资源完整指南 【免费下载链接】PingFangSC PingFangSC字体包文件、苹果平方字体文件&#xff0c;包含ttf和woff2格式 项目地址: https://gitcode.com/gh_mirrors/pi/PingFangSC 还在为网页字体在不同设备上显示效果…

HsMod:炉石传说游戏增强插件完全指南

HsMod&#xff1a;炉石传说游戏增强插件完全指南 【免费下载链接】HsMod Hearthstone Modify Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod HsMod是一款基于BepInEx框架开发的炉石传说游戏增强插件&#xff0c;为玩家提供丰富的游戏体验优…

3个OCR神器推荐:预装镜像免安装,百元内完成全套测试

3个OCR神器推荐&#xff1a;预装镜像免安装&#xff0c;百元内完成全套测试 你是不是也正面临这样的困境&#xff1f;创业团队想做文档识别、发票扫描或合同自动化处理&#xff0c;但市面上的OCR服务商价格高、定制难&#xff0c;数据隐私又让人不放心。于是你们开始考虑自研O…

13ft Ladder:突破付费墙的智能解决方案深度解析

13ft Ladder&#xff1a;突破付费墙的智能解决方案深度解析 【免费下载链接】13ft My own custom 12ft.io replacement 项目地址: https://gitcode.com/GitHub_Trending/13/13ft 你是否曾因付费墙而错失重要资讯&#xff1f;当急需阅读某篇文章却遭遇订阅限制时&#xf…

Tunnelto完全指南:3分钟学会本地服务公网暴露技巧

Tunnelto完全指南&#xff1a;3分钟学会本地服务公网暴露技巧 【免费下载链接】tunnelto Expose your local web server to the internet with a public URL. 项目地址: https://gitcode.com/GitHub_Trending/tu/tunnelto Tunnelto是一个革命性的开源工具&#xff0c;专…

AI智能文档扫描仪隐私安全优势:本地处理不上传云端实战验证

AI智能文档扫描仪隐私安全优势&#xff1a;本地处理不上传云端实战验证 1. 引言 1.1 办公场景中的文档数字化痛点 在日常办公、财务报销、合同归档等场景中&#xff0c;用户经常需要将纸质文档快速转化为电子版。传统方式依赖手机拍照后手动裁剪&#xff0c;不仅效率低&…