《2022年OracleSQLPlus命令大全 .pdf》由会员分享,可在线阅读,更多相关《2022年OracleSQLPlus命令大全 .pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、SQL*PLUS命令的使用大全Oracle 的 sql*plus 是与 oracle 进行交互的客户端工具。在 sql*plus 中,可以运行 sql*plus命令与 sql*plus 语句。我们通常所说的DML、DDL、DCL 语句都是sql*plus 语句,它们执行完后,都可以保存在一个被称为sql buffer 的内存区域中,并且只能保存一条最近执行的sql 语句,我们可以对保存在sql buffer 中的 sql 语句进行修改,然后再次执行,sql*plus 一般都与数据库打交道。除了 sql*plus 语句,在 sql*plus 中执行的其它语句我们称之为sql*plus 命令。它们
2、执行完后,不保存在sql buffer 的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。下面就介绍一下一些常用的sql*plus 命令:1.执行一个SQL 脚本文件SQLstart file_name SQL file_name 我们可以将多条sql 语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql 语句时,用上面的任一命令即可,这类似于dos 中的批处理。2.对当前的输入进行编辑SQLedit 3.重新运行上一次运行的sql 语句SQL/4.将显示的内容输出到指定文件SQL SPOOL file_name在屏幕上的所有内容都包含在该文件中,包括你输入的sq
3、l 语句。5.关闭 spool输出SQL SPOOL OFF 只有关闭 spool 输出,才会在输出文件中看到输出的内容。6显示一个表的结构SQL desc table_name 7.COL 命令:主要格式化列的显示形式。该命令有许多选项,具体如下:COLUMN column|expr option.Option 选项可以是如下的子句:ALIAS alias CLEAR 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 12 页 -FOLD_AFTER FOLD_BEFORE FORMAT format HEADING text JUSTIFY LEFT|CENTER|CENTRE
4、|RIGHT LIKE expr|alias NEWLINE NEW_VALUE variable NOPRINT|PRINT NULL text OLD_VALUE variable ON|OFF WRAPPED|WORD_WRAPPED|TRUNCATED 1).改变缺省的列标题COLUMN column_name HEADING column_heading For example:Sqlselect*from dept;DEPTNO DNAME LOC-10 ACCOUNTING NEW YORK sql col LOC heading locationsqlselect*from d
5、ept;DEPTNO DNAME location-10 ACCOUNTING NEW YORK 2).将列名 ENAME 改为新列名 EMPLOYEE NAME并将新列名放在两行上:Sqlselect*from empDepartment nameSalary-10 aaa 11 SQL COLUMN ENAME HEADING Employee|NameSqlselect*from emp Employee Department nameSalary-10 aaa 11 note:the col heading turn into two lines from one line.3).改变
6、列的显示长度:FORMAT format Sqlselect empno,ename,job from emp;EMPNO ENAME JOB 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 12 页 -7369 SMITH CLERK 7499 ALLEN SALESMAN 7521 WARD SALESMAN Sql col ename format a40 EMPNO ENAME JOB-7369 SMITH CLERK 7499 ALLEN SALESMAN 7521 WARD SALESMAN 4).设置列标题的对齐方式JUSTIFY LEFT|CENTER|CENTR
7、E|RIGHTSQL col ename justify center SQL/EMPNO ENAME JOB-7369 SMITH CLERK 7499 ALLEN SALESMAN 7521 WARD SALESMAN 对于 NUMBER 型的列,列标题缺省在右边,其它类型的列标题缺省在左边5).不让一个列显示在屏幕上NOPRINT|PRINTSQL col job noprint SQL/EMPNO ENAME-7369 SMITH 7499 ALLEN 7521 WARD 6).格式化 NUMBER 类型列的显示:SQL COLUMN SAL FORMAT$99,990SQL/Empl
8、oyee Department Name Salary Commission-30 ALLEN$1,600300 7).显示列值时,如果列值为NULL 值,用 text值代替 NULL 值COMM NULL text SQLCOL COMM NULL text 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 12 页 -8).设置一个列的回绕方式WRAPPED|WORD_WRAPPED|TRUNCATED COL1-HOW ARE YOU?SQLCOL COL1 FORMAT A5 SQLCOL COL1 WRAPPED COL1-HOW A RE YO U?SQL COL CO
9、L1 WORD_WRAPPED COL1-HOW ARE YOU?SQL COL COL1 WORD_WRAPPED COL1-HOW A 9).显示列的当前的显示属性值SQL COLUMN column_name 10).将所有列的显示属性设为缺省值SQL CLEAR COLUMNS8.屏蔽掉一个列中显示的相同的值BREAK ON break_columnSQL BREAK ON DEPTNO SQL SELECT DEPTNO,ENAME,SAL FROM EMP WHERE SAL BREAK ON DEPTNO SKIP 1 SQL/DEPTNO ENAME SAL-10 CLARK
10、2450 MILLER 1300 20 SMITH 800 ADAMS 1100 10.显示对 BREAK 的设置SQL BREAK 11.删除 6、7的设置SQL CLEAR BREAKS12.Set 命令:该命令包含许多子命令:SET system_variable value system_variable value 可以是如下的子句之一:APPINFOON|OFF|text ARRAYSIZE 15|n AUTOCOMMITON|OFF|IMMEDIATE|n AUTOPRINT ON|OFF AUTORECOVERY ON|OFF AUTOTRACE ON|OFF|TRACEONL
11、Y EXPLAIN STATISTICS BLOCKTERMINATOR.|c CMDSEP;|c|ON|OFF COLSEP _|text COMPATIBILITYV7|V8|NATIVE CONCAT.|c|ON|OFF COPYCOMMIT 0|n COPYTYPECHECK ON|OFF DEFINE&|c|ON|OFF DESCRIBE DEPTH 1|n|ALLLINENUM ON|OFFINDENT ON|OFF ECHO ON|OFF 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 12 页 -EDITFILE file_name.ext EMBEDDED ON
12、|OFF ESCAPE|c|ON|OFF FEEDBACK 6|n|ON|OFF FLAGGER OFF|ENTRY|INTERMEDIATE|FULL FLUSH ON|OFF HEADING ON|OFF HEADSEP|c|ON|OFF INSTANCE instance_path|LOCAL LINESIZE 80|n LOBOFFSET n|1 LOGSOURCE pathname LONG 80|n LONGCHUNKSIZE 80|n MARKUP HTML ON|OFF HEAD text BODY text ENTMAP ON|OFF SPOOL ON|OFF PREFORM
13、AT ON|OFF NEWPAGE 1|n|NONE NULL text NUMFORMAT format NUMWIDTH 10|n PAGESIZE 24|n PAUSE ON|OFF|text RECSEP WRAPPED|EACH|OFF RECSEPCHAR _|c SERVEROUTPUT ON|OFF SIZE n FORMAT WRAPPED|WORD_ WRAPPED|TRUNCATED SHIFTINOUT VISIBLE|INVISIBLE SHOWMODE ON|OFF SQLBLANKLINES ON|OFF SQLCASE MIXED|LOWER|UPPER SQL
14、CONTINUE|text SQLNUMBER ON|OFF SQLPREFIX#|c SQLPROMPT SQL|text SQLTERMINATOR;|c|ON|OFF SUFFIX SQL|text TAB ON|OFF TERMOUT ON|OFF TIME ON|OFF TIMING ON|OFF TRIMOUT ON|OFF TRIMSPOOL ON|OFF UNDERLINE-|c|ON|OFF VERIFY ON|OFF 名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 12 页 -WRAP ON|OFF1).设置当前session是否对修改的数据进行自动提交SQL
15、 SET AUTOCOMMIT ON|OFF|IMMEDIATE|n2)在用 start 命令执行一个sql脚本时,是否显示脚本中正在执行的SQL 语句SQL SET ECHO ON|OFF3).是否显示当前sql语句查询或修改的行数SQL SET FEEDBACK 6|n|ON|OFF默认只有结果大于6 行时才显示结果的行数。如果set feedback 1,则不管查询到多少行都返回。当为off 时,一律不显示查询的行数4).是否显示列标题SQL SET HEADING ON|OFF当 set heading off 时,在每页的上面不显示列标题,而是以空白行代替5).设置一行可以容纳的字符
16、数SQL SET LINESIZE 80|n如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示。6).设置页与页之间的分隔SQL SET NEWPAGE 1|n|NONE当 set newpage 0 时,会在每页的开头有一个小的黑方框。当 set newpage n 时,会在页和页之间隔着n 个空行。当 set newpage none 时,会在页和页之间没有任何间隔。7).显示时,用text 值代替 NULL值SQL SET NULL text8).设置一页有多少行数SQL SET PAGESIZE 24|n如果设为0,则所有的输出内容为一页并且不显示列标题9).是否显示用DBMS
17、_OUTPUT.PUT_LINE包进行输出的信息。SQL SET SERVEROUTPUT ON|OFF 在编写存储过程时,我们有时会用dbms_output.put_line将必要的信息输出,以便对存储过程进行调试,只有将serveroutput变量设为on 后,信息才能显示在屏幕上。10).当 SQL 语句的长度大于LINESIZE时,是否在显示时截取SQL 语句。SQL SET WRAP ON|OFF当输出的行的长度大于设置的行的长度时(用 set linesize n命令设置),当 set wrap on时,输出行的多于的字符会另起一行显示,否则,会将输出行的多于字符切除,不予显示。名
18、师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 12 页 -11).是否在屏幕上显示输出的内容,主要用与SPOOL 结合使用。SQL SET TERMOUT ON|OFF在用 spool 命令将一个大表中的内容输出到一个文件中时,将内容输出在屏幕上会耗费大量的时间,设置set termspool off后,则输出的内容只会保存在输出文件中,不会显示在屏幕上,极大的提高了spool 的速度。12).将 SPOOL 输出中每行后面多余的空格去掉SQL SET TRIMSOUT ON|OFF 13)显示每个sql 语句花费的执行时间set TIMING ON|OFF 14修改 sql b
19、uffer中的当前行中,第一个出现的字符串CHANGE/old_value/new_value SQL l 1*select*from dept SQL c/dept/emp 1*select*from emp 15编辑 sql buffer中的 sql 语句EDIT 16显示 sql buffer中的 sql 语句,list n 显示 sql buffer中的第 n 行,并使第n 行成为当前行LIST n 17在 sql buffer的当前行下面加一行或多行INPUT 18将指定的文本加到sql buffer的当前行后面APPEND SQL select deptno,2 dname 3 f
20、rom dept;DEPTNO DNAME-10 ACCOUNTING 20 RESEARCH 30 SALES 40 OPERATIONS SQL L 2 2*dname SQL a,loc 名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 12 页 -2*dname,loc SQL L 1 select deptno,2 dname,loc 3*from dept SQL/DEPTNO DNAME LOC-10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 19将 sql
21、 buffer中的 sql 语句保存到一个文件中SAVE file_name 20将一个文件中的sql 语句导入到sql buffer中GET file_name 21再次执行刚才已经执行的sql 语句RUN or/22执行一个存储过程EXECUTE procedure_name 23在 sql*plus中连接到指定的数据库CONNECT user_name/passwddb_alias 24设置每个报表的顶部标题TTITLE 25设置每个报表的尾部标题BTITLE 26写一个注释REMARK text27将指定的信息或一个空行输出到屏幕上PROMPT text名师资料总结-精品资料欢迎下载-
22、名师精心整理-第 9 页,共 12 页 -28将执行的过程暂停,等待用户响应后继续执行PAUSE text SqlPAUSE Adjust paper and press RETURN to continue.29将一个数据库中的一些数据拷贝到另外一个数据库(如将一个表的数据拷贝到另一个数据库)COPY FROM database|TO database|FROM database TO database APPEND|CREATE|INSERT|REPLACE destination_table(column,column,column,.)USING query sqlCOPY FROM
23、SCOTT/TIGERHQ TO JOHN/CHROMEWEST create emp_temp USING SELECT*FROM EMP 30不退出 sql*plus,在 sql*plus中执行一个操作系统命令:HOST Sql host hostname 该命令在windows 下可能被支持。31在 sql*plus中,切换到操作系统命令提示符下,运行操作系统命令后,可以再次切换回 sql*plus:!sql!$hostname$exit sql 该命令在windows 下不被支持。32显示 sql*plus命令的帮助HELP 如何安装帮助文件:Sql?sqlplusadminhelph
24、lpbld.sql?sqlplusadminhelphelpus.sql Sqlhelp index 33显示 sql*plus系统变量的值或sql*plus环境变量的值Syntax SHOW option where option represents one of the following terms or clauses:system_variable ALL 名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 12 页 -BTITLE ERRORS FUNCTION|PROCEDURE|PACKAGE|PACKAGE BODY|TRIGGER|VIEW|TYPE|TYPE
25、 BODY schema.name LNO PARAMETERS parameter_name PNO RELEASE REPFOOTER REPHEADER SGA SPOOL SQLCODE TTITLE USER 1).显示当前环境变量的值:Show all 2).显示当前在创建函数、存储过程、触发器、包等对象的错误信息Show error 当创建一个函数、存储过程等出错时,变可以用该命令查看在那个地方出错及相应的出错信息,进行修改后再次进行编译。3).显示初始化参数的值:show PARAMETERS parameter_name 4).显示数据库的版本:show RELEASE 5).显示 SGA 的大小show SGA 6).显示当前的用户名show user 34.查询一个用户下的对象SQLselect*from tab;SQLselect*from user_objects;35.查询一个用户下的所有的表SQLselect*from user_tables;36.查询一个用户下的所有的索引SQLselect*from user_indexes;名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 12 页 -名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 12 页 -
限制150内