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

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.


http://www.kler.cn/a/576394.html

相关文章:

  • 【Linux 22.4 ubuntu 安装cuda12.1 完整方案】
  • 计算分割后裂缝的长度和宽度,比较几种常规计算方法
  • Vue3路由组件和一般组件 切换路由时组件挂载和卸载 路由的工作模式
  • uniapp或者vue 使用serialport
  • 如何在PPT中直接演示Axure原型(一篇实用教程)
  • 一个前端vue3文字hover效果
  • 使用苹果M芯片打包Docker Image无法在amd64环境下运行
  • 数据结构:python实现最大堆算法
  • 【清华大学】实用DeepSeek赋能家庭教育 56页PDF文档完整版
  • 【计算机网络】多路复用
  • 浅说图论基础
  • 尚硅谷爬虫note15n
  • 前后端数据加密传输【最佳方案】
  • FreeRTOS第17篇:FreeRTOS链表实现细节05_MiniListItem_t:FreeRTOS内存优化
  • 【Winform】WinForms中进行复杂UI开发时的优化
  • 电子学会—2024年12月青少年软件编程(图形化)级等级考试真题——猜年龄互动小游戏
  • SpringBoot3—场景整合:环境准备
  • 暴露docker端口
  • unity3d 背景是桌面3d数字人,前面是web的表单
  • 从零开始:使用 Python 实现机器学习的基础与实践