您的位置:首页 > 健康 > 养生 > 小程序定制开发解决方案_滨州seo招聘_石家庄疫情最新消息_新公司做网站多少钱

小程序定制开发解决方案_滨州seo招聘_石家庄疫情最新消息_新公司做网站多少钱

2025/4/3 10:19:29 来源:https://blog.csdn.net/foolisk/article/details/146055396  浏览:    关键词:小程序定制开发解决方案_滨州seo招聘_石家庄疫情最新消息_新公司做网站多少钱
小程序定制开发解决方案_滨州seo招聘_石家庄疫情最新消息_新公司做网站多少钱

一、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名称                                                                                   是否为空? 类型----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------------------------------------------------------EMPNONOT NULL NUMBER(4)ENAME                                                                           VARCHAR2(10)JOB                                                                             VARCHAR2(9)MGR                                                                             NUMBER(4)HIREDATE                                                                        DATESAL                                                                             NUMBER(7,2)COMM                                                                            NUMBER(7,2)DEPTNO                                                                          NUMBER(2)

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

SQL> select empno2  #desc emp名称                                                                                  是否为空? 类型----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------------------------------------------------------EMPNONOT NULL NUMBER(4)ENAME                                                                          VARCHAR2(10)JOB                                                                            VARCHAR2(9)MGR                                                                            NUMBER(4)HIREDATE                                                                       DATESAL                                                                            NUMBER(7,2)COMM                                                                           NUMBER(7,2)DEPTNO                                                                         NUMBER(2)2  ,ename from emp;EMPNO ENAME
---------- --------------------7369 SMITH7499 ALLEN7521 WARD7566 JONES7654 MARTIN7698 BLAKE7782 CLARK7788 SCOTT7839 KING7844 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 SALESMAN7521 WARD                       1250 SALESMAN7654 MARTIN                     1250 SALESMAN7844 TURNER                     1500 SALESMANSQL> 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 YORK40 OPERATIONS                   BOSTON20 RESEARCH                     DALLAS30 SALES                        CHICAGOSQL> 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> run1* select * from deptDEPTNO DNAME                        LOC
---------- ---------------------------- --------------------------10 ACCOUNTING                   NEW YORK40 OPERATIONS                   BOSTON20 RESEARCH                     DALLAS30 SALES                        CHICAGOSQL> /DEPTNO DNAME                        LOC
---------- ---------------------------- --------------------------10 ACCOUNTING                   NEW YORK40 OPERATIONS                   BOSTON20 RESEARCH                     DALLAS30 SALES                        CHICAGOSQL>
③命令文件方式

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

start{url|file_name}

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


SQL> start E:\我的01文档\dept.sqlDEPTNO DNAME                        LOC
---------- ---------------------------- --------------------------10 ACCOUNTING                   NEW YORK40 OPERATIONS                   BOSTON20 RESEARCH                     DALLAS30 SALES                        CHICAGOSQL> @ E:\我的01文档\dept.sqlDEPTNO DNAME                        LOC
---------- ---------------------------- --------------------------10 ACCOUNTING                   NEW YORK40 OPERATIONS                   BOSTON20 RESEARCH                     DALLAS30 SALES                        CHICAGO

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

五、格式化SQL Plus输出

1.格式化列

语法 COL[UMN] [COLNAME][OPTION]

1.1修改列标题
SQL> col empno heading 员工编号
SQL>col ename heading 员工名称
SQL> select empno,ename from emp;员工编号 员工名称
---------- --------------------7369 SMITH7499 ALLEN7521 WARD7566 JONES7654 MARTIN7698 BLAKE7782 CLARK7788 SCOTT7839 KING7844 TURNER已选择 10 行。
1.2 格式化数字列

语法 COL[UMN] colum_name Format model

SQL> col sal format $999,999.00
SQL> select sal from emp;SAL
------------$800.00$1,600.00$1,250.00$2,975.00$1,250.00$2,850.00$2,450.00$3,000.00$5,000.00$1,500.00已选择 10 行。
1.3格式化字符长度

如例子中,将ename字段长度格式化为3,超出就换行显示了

SQL> col ename format a3
SQL> seelct * from emp;
SP2-0734: 未知的命令开头 "seelct * f..." - 忽略了剩余的行。
SQL> select * from emp;员工编号 员  JOB                       MGR HIREDATE                SAL       COMM     DEPTNO
---------- --- ------------------ ---------- -------------- ------------ ---------- ----------7369 SMI CLERK                    7902 17-12月-80          $800.00                    20TH7499 ALL SALESMAN                 7698 20-2月 -81        $1,600.00        300         30EN
1.4格式化NULL值

COL col_name null text

SQL> col comm null null
SQL> select * from emp;员工编号 员  JOB                       MGR HIREDATE                SAL       COMM     DEPTNO
---------- --- ------------------ ---------- -------------- ------------ ---------- ----------7369 SMI CLERK                    7902 17-12月-80          $800.00 null               20TH7499 ALL SALESMAN                 7698 20-2月 -81        $1,600.00        300         30EN7521 WAR SALESMAN                 7698 22-2月 -81        $1,250.00        500         30D
1.5 控制格式化开关

COL col_name on/off

1.6 列出和重新设置列显示属性

①列出

COL col_name

SQL> col comm
COLUMN   comm ON
NULL     'null'

②重设

COL col_name clear

SQL> col comm
COLUMN   comm ON
NULL     'null'
SQL> col comm clear
SQL> col comm
SP2-0046: COLUMN 'comm' 未定义

2.定义页与报告的标题

2.1 定义页标题

TTI [ printspec[text|variable]...] [OFF|ON]

>>输出工资表所有数据,并设置头/底标题

SQL> ttit left '             工资登记表'
SQL> btit left '打印时间:2025.03.10 by addie'
SQL> SET pagesize 10
SQL> select * from salgrade;工资登记表GRADE      LOSAL      HISAL
---------- ---------- ----------2       1201       14003       1401       20004       2001       3000打印时间:2025.03.10 by addie
2.2 定义报告(底)的标题

BTI [ printspec[text|variable]...] [OFF|ON]

效果见2.1

在退出sqlplus前,该设置对所有查询生效,注意手动关闭

ttitle off

btitle off

SQL> select * from salgrade;工资登记表GRADE      LOSAL      HISAL
---------- ---------- ----------2       1201       14003       1401       20004       2001       3000打印时间:2025.03.10 by addieSQL> btitle off
SQL> select * from salgrade;工资登记表GRADE      LOSAL      HISAL
---------- ---------- ----------2       1201       14003       1401       20004       2001       3000SQL> ttitle off
SQL> select * from salgrade;GRADE      LOSAL      HISAL
---------- ---------- ----------2       1201       14003       1401       20004       2001       3000

That's all~

Have a nice study~

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com