当前位置: 首页 > news >正文

SQL PLUS与Oracle数据库的交互

一、SQL Plus与数据库的交互

可以 使用2种基本类型的命令与数据库进行交互:

服务器执行的命令:SQLQ命令(以;结束)和PL/SQL程序块(以/结束)

本地命令:SQL Plus命令

二、设置SQL Plus的运行环境

1.使用SET命令,可以设置图中项

2.语法

SET system_variable value

3.常用设置项

①SET PAGSIZE value设置从顶部标题至页结束之间的行数

②SET LINESIZE value设置一行所显示的最多字符数

③SET NEWPAGE value设置页与页的间隔,默认为一行

④SET PAUSE value设置结果是否滚动显示,value可取范围有ON/OFF/TEXT

=>注意,在sql plus客户端输入set命令做的设置是临时生效的,也就是说,你关掉sqlplus再打开,就又恢复到初始值了,要永久生效的话怎么操作呢

可以编辑D:\oracle\sqlplus\admin\glogin.sql文件,将SET命令写在里面,重启生效

三、SQL Plus管理命令

1.HELP命令

帮助,提示。

语法为HELP|?[topic],如HELP SHOW 等效于?SHOW

2.DESCRIBE

描述表、视图、索引等结构(字段名、是否为空、类型)

两种语法①为 desc objectname,如desc emp,需要单独执行该命令

SQL> desc emp
 名称                                                                                   是否为空? 类型
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------------------------------------------------------
 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)

②#desc objectname,适用于什么场景呢=>比如sql写一半,忘记字段名了,使用该命令可以查询 且不影响当前在编写的sql

SQL> select empno
  2  #desc emp
 名称                                                                                  是否为空? 类型
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------------------------------------------------------
 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)

  2  ,ename from emp;

     EMPNO ENAME
---------- --------------------
      7369 SMITH
      7499 ALLEN
      7521 WARD
      7566 JONES
      7654 MARTIN
      7698 BLAKE
      7782 CLARK
      7788 SCOTT
      7839 KING
      7844 TURNER

已选择 10 行。

3.SPOOL命令

将输出的结果写入到某个文件种

语法为 SPOOL [filename[CREATE|REPLACE|APPEND|OFF|OUT]] 创建|替换|引用|关闭输出|打印

SPOOL OFF和SPOOL OUT的区别:

OFF是关闭输出

OUT=OFF+PRINT

SQL> SPOOL E:\我的01文档\emp.txt
SQL> select empno,ename,sal,job from emp where job='SALESMAN';

     EMPNO ENAME                       SAL JOB
---------- -------------------- ---------- ------------------
      7499 ALLEN                      1600 SALESMAN
      7521 WARD                       1250 SALESMAN
      7654 MARTIN                     1250 SALESMAN
      7844 TURNER                     1500 SALESMAN

SQL> spool off
--注意要关闭spool才能在txt里看到输出的内容

四、常用SQL Plus命令

1.编辑EDIT

ED filename[.ext]

SQL> ed E:\我的01文档\emp.txt

2.保存SAVE/EDIT

①SAVE用于将sql缓冲区最近一条sql保存到某个文件种

语法为SAVE file_name

SQL> select * from dept;

    DEPTNO DNAME                        LOC
---------- ---------------------------- --------------------------
        10 ACCOUNTING                   NEW YORK
        40 OPERATIONS                   BOSTON
        20 RESEARCH                     DALLAS
        30 SALES                        CHICAGO

SQL> save E:\我的01文档\dept
已创建 file E:\我的01文档\dept.sql
SQL> clear buffer
buffer 已清除
SQL> save E:\我的01文档\dept
SP2-0107: 无须保存。
SQL>

3.运行命令

①命令行方式:sql命令后面加;
②SQL缓冲区方式

run或/

SQL> run
  1* select * from dept

    DEPTNO DNAME                        LOC
---------- ---------------------------- --------------------------
        10 ACCOUNTING                   NEW YORK
        40 OPERATIONS                   BOSTON
        20 RESEARCH                     DALLAS
        30 SALES                        CHICAGO

SQL> /

    DEPTNO DNAME                        LOC
---------- ---------------------------- --------------------------
        10 ACCOUNTING                   NEW YORK
        40 OPERATIONS                   BOSTON
        20 RESEARCH                     DALLAS
        30 SALES                        CHICAGO

SQL>
③命令文件方式

------start命令 只能在sqlplus中运行

start{url|file_name}

------@命令既能在sqlplus中运行又能在命令行中运行


SQL> start E:\我的01文档\dept.sql

    DEPTNO DNAME                        LOC
---------- ---------------------------- --------------------------
        10 ACCOUNTING                   NEW YORK
        40 OPERATIONS                   BOSTON
        20 RESEARCH                     DALLAS
        30 SALES                        CHICAGO

SQL> @ E:\我的01文档\dept.sql

    DEPTNO DNAME                        LOC
---------- ---------------------------- --------------------------
        10 ACCOUNTING                   NEW YORK
        40 OPERATIONS                   BOSTON
        20 RESEARCH                     DALLAS
        30 SALES                        CHICAGO

@命令在命令行中运行示例如下

五、格式化SQL Plus输出

1.明天再来,先睡一觉

2.

3.

相关文章:

  • 设计模式 - 工厂模式 精准梳理精准记忆
  • Android12 添加开机铃声
  • 【NL2SQL(text2sql) 到底准不准】智能BI中生成sql模块的评测数据构造 + 评测办法
  • 在 ASP.NET Core 中启用 Brotli 和 Gzip 响应压缩
  • SpringBoot的启动流程是怎样的?
  • 全志A133 android10 mipi屏幕调试
  • Git - 补充工作中常用的一些命令
  • 字节青训营后端方向的个人总结(2025年3月4日)
  • SQL Server查询计划操作符(7.3)——查询计划相关操作符(9)
  • 构建私有化AI知识库:基于CentOS的Ollama + DeepSeek-R1 +ragflow 整合部署教程
  • 硬通货用Deekseek做一个Vue.js组件开发的教程
  • 2025 DPIN AI+DePIN 巴厘岛峰会聚焦人工智能与去中心化的未来
  • QT——基于 QListWidget 和 QStackedWidget 的页面切换
  • 数据库的安装(mysql)
  • 使用jcodec库,访问网络视频提取封面图片上传至oss
  • 苹果Siri升级遇阻,国行iPhone或将引入阿里、百度AI自救
  • ‌PLC数据类型和‌C#数据类型的数据类型映射表
  • Windows操作系统日常操作--网络通信
  • Git清理本地残留的、但已经在服务器上被删除的分支
  • 计算机毕业设计SpringBoot+Vue.js医院药品管理系统(源码+文档+PPT+讲解)
  • 网站建设林晓东/杭州seo营销
  • 在线营销型网站制作/免费网页代码大全
  • 呼市城乡建设委员会的网站/优化seo招聘
  • 网站打不开什么原因/seo外包上海
  • 南昌手机网站制作/百度网站提交了多久收录
  • 网站全屏广告/搜索引擎是什么