SQL PLUS 基本命令的使用

在这里插入图片描述

oracle用命令执行sql脚本文件

当sql命令过多(sql文件过大)时,用plsql执行时比较慢而且容易超时,此时可以用sqlplus命令直接执行sql脚本文件。

@ H:/sql/test.sql (绝对路径)

在这里插入图片描述

oracle中spool将查询的数据写入文件

通常情况下,我们使用SPOOL方法,将数据库中的表导出为文本文件的时候会采用两种方法,如下述:

方法一:采用以下格式脚本

set colsep ‘’ ------设置列分隔符

set trimspool on

set linesize 120

set pagesize 2000

set newpage 1

set heading off

set term off

spool 路径+文件名

select * from tablename;

spool off

方法二:采用以下脚本

set trimspool on

set linesize 120

set pagesize 2000

set newpage 1

set heading off

set term off

spool 路径+文件名

select col1||‘,’||col2||‘,’||col3||‘,’||col4||‘…’ from tablename;

spool off

在这里插入图片描述

在这里插入图片描述

差别:

比较以上方法,即方法一采用设定分隔符然后由sqlplus自己使用设定的分隔符对字段进行分割,方法二将分隔符拼接在SELECT语句中,即手工控制输出格式。

在实践中,我发现通过方法一导出来的数据具有很大的不确定性,这种方法导出来的数据再由sql导入的时候出错的可能性在95%以上,尤其对大批量的数据表,如100万条记录的表更是如此,而且导出的数据文件狂大。

而方法二导出的数据文件格式很规整,数据文件的大小可能是方法一的1/4左右。经这种方法导出来的数据文件再由sqll导入时,出错的可能性很小,基本都可以导入成功。

因此,实践中我建议大家使用方法二手工去控制spool文件的格式,这样可以减小出错的可能性,避免走很多弯路。

ttitle,btitle命令

它主要是对头标题与尾标题的设置,如下:

eg:为查询结果设置居中的头部标题、居右的当天日期作为尾部标题,并为查询结果列定义列标题。

SQL> ttitle center ‘结果’;

SQL> btitle right ‘2021/03/30’;

SQL> select * from dept; ;

结果

DEPTNO DNAME LOC


10 ACCOUNTING NEW YORK

20 RESEARCH DALLAS

30 SALES CHICAGO

40 OPERATIONS BOSTON

2021/03/30

如果想撤消ttitle与btitle:

SQL> ttitle off;

SQL> btitle off;

SQL> select * from dept;

DEPTNO DNAME LOC


10 ACCOUNTING NEW YORK

20 RESEARCH DALLAS

30 SALES CHICAGO

40 OPERATIONS BOSTON

SQL>

在这里插入图片描述

column 命令
format格式化输出

format 选项

用于格式化指定的列

SQL> column sal format $99,99,99;

SQL> select empno,ename,sal from scott.emp;

EMPNO ENAME SAL


7369 SMITH $8,00

7499 ALLEN $16,00

7521 WARD $12,50

7566 JONES $29,75

7654 MARTIN $12,50

7698 BLAKE $28,50

7782 CLARK $24,50

7788 SCOTT $30,00

7839 KING $50,00

7844 TURNER $15,00

7876 ADAMS $11,00

EMPNO ENAME SAL


7900 JAMES $9,50

7902 FORD $30,00

7934 MILLER $13,00

14 rows selected.

heading 选项

用于定义列标题

SQL> col empno heading 雇员编号;

SQL> col ename heading 雇员姓名;

SQL> col sal heading 雇员薪水;

SQL> select empno,ename,sal from scott.emp;

雇员编号 雇员姓名 雇员薪水


7369 SMITH $8,00

7499 ALLEN $16,00

7521 WARD $12,50

7566 JONES $29,75

7654 MARTIN $12,50

7698 BLAKE $28,50

7782 CLARK $24,50

7788 SCOTT $30,00

7839 KING $50,00

7844 TURNER $15,00

7876 ADAMS $11,00

雇员编号 雇员姓名 雇员薪水


7900 JAMES $9,50

7902 FORD $30,00

7934 MILLER $13,00

14 rows selected.

在这里插入图片描述

在这里插入图片描述

对缓存区的操作

(1)查看当前缓存区中的SQL命令。

list

(2)执行存储在缓存区的SQL命令。

run

(3)将缓存区中的内容保存到一个SQL脚本文件(文件名自拟)。

save C:/sql.sql

(4)把一个脚本文件的内容放进缓存区,并执行缓存区中的语句。

get C:/sql.sql

start C:/sql.sql

(5)清除缓存区中的内容。

clear buffer

SQL> save H:/sql/test3.txt;

Created file H:/sql/test3.txt

SQL> get H:/sql/test.sql;

1 select table_name from user_tables;

2* desc dept

SQL> start H:/sql/test.sql;

TABLE_NAME


DEPT
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后送福利了,现在关注我可以获取包含源码解析,自定义View,动画实现,架构分享等。
内容难度适中,篇幅精炼,每天只需花上十几分钟阅读即可。
大家可以跟我一起探讨,有flutter—底层开发—性能优化—移动架构—资深UI工程师 —NDK相关专业人员和视频教学资料,还有更多面试题等你来拿

录播视频图.png

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

你有帮助,可以扫码获取!!(备注:Android)**

最后送福利了,现在关注我可以获取包含源码解析,自定义View,动画实现,架构分享等。
内容难度适中,篇幅精炼,每天只需花上十几分钟阅读即可。
大家可以跟我一起探讨,有flutter—底层开发—性能优化—移动架构—资深UI工程师 —NDK相关专业人员和视频教学资料,还有更多面试题等你来拿

[外链图片转存中…(img-mlm10U2E-1712813405046)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 28
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值