数据库教程:SQL PLUS基本命令的使用方法示例

1、oracle 中 dba,all,user, 之间的区别2、desc3、设置sql*plus的运行环境,包括每行的显示字符数、每页显示行数、每页打印标题前空行数。 set命令基本语法在oracle

1、oracle 中 dba,all,user, 之间的区别

  1. 结论:'权限大小不同': dba_* > all_* > user_*     (1) dba_* : 可以访问 '数据库' 中所有的对象(前提:该用户是 dba 用户)     (2) all_* :某一用户 '拥有' 的或 '可以访问' 的所有的对象     (3) user_*:某一用户 '拥有' 的所有对象    2. 查询是否是 dba 用户     select * from dba_role_privs t where t.granted_role = 'dba';    

2、desc

  desc:万能查看命令    查看dept表  sql> desc dept   name                                      null?    type   ----------------------------------------- -------- --------------------------   deptno                                    not null number(2)   dname                                              varchar2(14)   loc                                                varchar2(13)  

SQL PLUS基本命令的使用方法示例

3、设置sql*plus的运行环境,包括每行的显示字符数、每页显示行数、每页打印标题前空行数。 set命令基本语法

在oracle 11g数据库中,用户可以使用set命令来设置sql*plus的运行环境;

  set system_variable value;    system_variable:变量名;  value:变量值;    

通过set命令设置的环境变量是临时的,不是永久的;

当用户退出sql*plus环境后,用户设置的环境参数会全部消失;

使用set命令设置运行环境

  pagesize变量:该变量用来设置从顶部标题至页结束之间的行数;  set pagesize value;  value的默认值为14;    使用show pagesize命令显示当前sql*plus环境中的一页有多少行;  show pagesize;    同理:  newpage变量:该变量用来设置一页中空行的数量;  set newpage value;  value的默认值为1;    show newpage;    linesize变量:  该变量用来设置在sql*plus环境中一行所显示的最多字符总数;  set linesize value;  value的默认值为80;    show linesize;    pause变量:  该变量用来设置sql*plus输出结果是否滚动显示;  set pause value;    value变量值有以下三种情况:  - off:默认值,表示返回结果一次性输出完毕,中间的每一页不会暂停;  - on:表示输出结果的每一页都暂停,用户按后回车键后会继续显示;  - text:在设置pause的值为on之后,再设置text的值,则每次暂停都将显示该字符串;           当pause的值设置为off时,设置text的值没有任何意义;    

SQL PLUS基本命令的使用方法示例

oracle用命令执行sql脚数据库技术:SQL PLUS基本命令的使用方法示例件

当sql命令过多(sql文件过大)时,用plsql执行时比较慢而且容易超时,此时可以用sqlplus命令直接执行sql脚数据库技术:SQL PLUS基本命令的使用方法示例件。

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

SQL PLUS基本命令的使用方法示例

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

通常情况下,我们使用spool方法,将数据库中的表导出为文数据库技术:SQL PLUS基本命令的使用方法示例件的时候会采用两种方法,如下述:

  方法一:采用以下格式脚本  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      

SQL PLUS基本命令的使用方法示例
SQL PLUS基本命令的使用方法示例

差别:

比较以上方法,即方法一采用设定分隔符然后由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>                                                       

SQL PLUS基本命令的使用方法示例

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.    

SQL PLUS基本命令的使用方法示例
SQL PLUS基本命令的使用方法示例

对缓存区的操作

  (1)查看当前缓存区中的sql命令。  >list  (2)执行存储在缓存区的sql命令。  >run  (3)将缓存区中的内容保存到一个sql脚数据库技术:SQL PLUS基本命令的使用方法示例件(文件名自拟)。  >save c:/sql.sql  (4)把一个脚数据库技术:SQL PLUS基本命令的使用方法示例件的内容放进缓存区,并执行缓存区中的语句。  >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  emp  bonus  salgrade     name                                      null?    type   ----------------------------------------- -------- ----------------------------   deptno                                    not null number(2)   dname                                              varchar2(14)   loc                                                varchar2(13)    sql> clear buffer;  buffer cleared  sql>  

SQL PLUS基本命令的使用方法示例

总结

到此这篇关于sql plus基本命令使用的文章就介绍到这了,更多相关sql plus命令使用内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!

需要了解更多数据库技术:SQL PLUS基本命令的使用方法示例,都可以关注数据库技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/dtteaching/795193.html

(0)
上一篇 2021年9月10日
下一篇 2021年9月10日

精彩推荐