SQLPLUS命令的使用大全资料
Sqlplus的使用

Sql*plus的使用Sql*plus的使用Sql*plus介绍Sql*plus是oracle提供的一个工具程序,既可以在oracle服务器使用,也可以在oracle 客户端使用。
在windows下分两种,sqlplus.exe是命令行程序,sqlplusw.exe是窗体程序,通常我们在开始菜单中启动的是后者,两者的功能是一致的。
Sql*plus是一个最常用的工具,具有很强的功能,主要有:1. 数据库的维护,如启动,关闭等,这一般在服务器上操作。
2. 执行sql语句执行pl/sql。
3. 执行sql脚本。
4. 数据的导出,报表。
5. 应用程序开发、测试sql/plsql。
6. 生成新的sql脚本。
7. 供应用程序调用,如安装程序中进行脚本的安装。
2 dual表dual是一张系统表,同时也被定义成了public同义词。
它只有一个字段和一条记录。
该表本身的结构和数据没有什么意义,主要是借助该表进行其它操作。
如:select sysdate from dual; --获取函数值select 21+15*3 from dual; --计算表达式的值说明:不要对dual表进行ddl与dml操作,只进行查询操作。
3 sql*plus使用3.1 启动sql*plus1. 不带参数启动启动sqlplusw.exe程序,会弹出登陆框,让输入用户名、密码和连接字符串,在用户名中输入“/nolog”,表示先进入sql>提示符,先不连接数据库,下面可以利用connect命令连接数据库。
启动sqlplus.exe程序,会提示输入用户名与密码。
如果用户名输入2. 带参数启动下面列举一些最常见的方式,还有很多可选参数。
1) 不连接数据库sqlplus /nolog2) 连接数据库sqlplus username/password3) 使用net8连接字符串连接数据库sqlplus username/password@connstr4) 连接后执行filename指定的sql脚本,sql脚本中是sql命令和sql*plus的设置命令sqlplus username/password[@connstr] @filename3.2 sql*plus的命令3.2.1 帮助命令1. help命令格式:help 命令名,用于知道某个具体命令的帮助信息。
sqlplus常用命令

6、显示一个表结构:
SQL> desc tab --如果tab不是表,则只显示其类型和名字
7、保存所有输入:
SQL> spool D:\xxx --建立一个xxx.LST文件
SQL> spool --显示当前spool状态
SQL> COLUMN id TRUNCATED --直接按长度截断
7、COLUMN--显示当前列所有属性
SQL> COLUMN id --后面不加列名时显示所有的COLUMN
8、OFF|ON--设置某一字段关闭
设置一行可以容纳的字符数
SQL> SET LIN[ESIZE] {80|n}
如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示。
设置页与页之间的分隔
SQL> SET NEWP[AGE] {1|n|NONE}
当set newpage 0 时,会在每页的开头有一个小的黑方框。
常用的SQLPLUS输出格式化命令:
执行一个SQL脚本文件
SQL>start file_name
SQL>@ file_name
将显示的内容输出到指定文件
SQL> SPOOL file_name
关闭spool输出
SQL> SPOOL OFF
只有关闭spool输出,才会在输出文件中看到输出的内容。
SQL> BTITLE def --添加页脚“def”
SQL> TTITLE OFF --取消页眉显示
三、COLUMN[COL]命令修改字段属性:
可以修改的属性有:
ALI[AS] alias
SQLPlus命令使用大全

SQL*PLUS命令的使用大全SQL*PLUS命令的使用大全1. 执行一个SQL脚本文件 (1)2. 对当前的输入进行编辑 (1)3. 重新运行上一次运行的sql语句 (1)4. 将显示的内容输出到指定文件 (1)5. 关闭spool输出 (2)6.显示一个表的结构 (2)7. COL命令: (2)1). 改变缺省的列标题 (2)2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上: (2)3). 改变列的显示长度: (3)4). 设置列标题的对齐方式 (3)5). 不让一个列显示在屏幕上 (3)6). 格式化NUMBER类型列的显示: (4)7). 显示列值时,如果列值为NULL值,用text值代替NULL值 (4)8). 设置一个列的回绕方式 (4)9). 显示列的当前的显示属性值 (4)10). 将所有列的显示属性设为缺省值 (4)8. 屏蔽掉一个列中显示的相同的值 (5)9. 在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n个空行。
(5)10. 显示对BREAK的设置 (5)11. 删除8、9的设置 (5)12. Set 命令: (5)1).设置当前session是否对修改的数据进行自动提交 (7)2).在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句.73).是否显示当前sql语句查询或修改的行数 (7)4).是否显示列标题 (7)5).设置一行可以容纳的字符数 (7)6).设置页与页之间的分隔 (7)7).显示时,用text值代替NULL值 (7)8).设置一页有多少行数 (7)9).是否显示用DBMS_OUTPUT.PUT_LINE包进行输出的信息。
(8)10).当SQL语句的长度大于LINESIZE时,是否在显示时截取SQL语句。
(8)11).是否在屏幕上显示输出的内容,主要用与SPOOL结合使用。
sqlplus -s用法

sqlplus -s用法
sqlplus是Oracle数据库的交互式命令行工具,-s选项是其中的一个参数,表示“静默模式”。
使用-s选项可以在执行sqlplus
命令时,不显示启动和退出信息,只显示查询结果。
这在需要在脚
本或者批处理中执行SQL语句时非常有用,可以避免额外的输出干扰。
举例来说,假设我们有一个脚本文件test.sql包含SQL查询语句,我们可以使用以下命令来执行该脚本并在静默模式下输出结果:
sqlplus-susername/password@*****************.
这样就会在不显示额外信息的情况下执行test.sql中的SQL语句,并将查询结果输出到标准输出。
需要注意的是,-s选项并不会隐藏错误信息,所以在实际使用中,仍然需要对SQL语句的执行结果进行适当的错误处理。
总之,sqlplus -s选项的主要作用是在执行SQL语句时以静默
模式输出结果,适用于需要在脚本或者批处理中执行SQL查询的场景。
基本的sqlplus命令

基本的sqlplus命令有些东西看起来很简单,可是时间长了以后,我们就会忘的⼀⼲⼆净,所以我们平时做⼀些简短的笔记还是很有效的。
以下是⼀些sqlpus命令remark 注释⾏set headsep 标题分隔符ttitle 头标题btitle 尾标题column 列标题及列格式设定break on 报表各部分间插⼊空格或将⼩计和总计断开compute sum 计算⼩计set linesize ⾏的最⼤字符数set pagesize 页中的⾏数set newpage 页间的空⾏数spool 将报表写⼊到⽂件/**/ 多⾏注释-- 单⾏注释set pause 页间停顿save 将建⽴的SQL查询存诸到⽂件host 执⾏外部命令start或@ 执⾏sqlplus脚本edit 进⼊⾃定义的编辑器define_editor 定义编缉器exit或quit 退出sqlplus⼀个例⼦rem bookshelf activity reportset headsep !ttitle 'Checkout Log for 1/1/02-3/31/2'btitle 'from the BookSelf'column Name format a20column Title format a20 word_wrappedcolumn DaysOut format 999.99column DaysOut heading 'Day!Out'break on Name skip 1 on reportcompute avg of DaysOut on Namecompute avg of DaysOut on reportset linesize 80set pagesize 60set newpage 0set feedback offspool activity.lstselect Name,Title,CheckoutDate,ReturnedDate,ReturnedDate-CheckoutDate as DayOutfrom BOOKSELF_CHECKOUTorder by Name,CheckoutDate;spool off这个脚本的基本结构:注释标题设定列标题及列格式设定⼩计及总计设定各部分间隔设定页⾯设定打印到⽂件选择数据alter procedure 编辑存储过程。
Oracle第二讲 SQLPlus的基本使用天津工业大学

2.2.2 SET命令
• 例2.13:下面的查询语句查询了V_$PARAMETER 视图的定义,如果不使用SET LONG命令设置text 列的显示长度则不能完全显示该列的内容。
• 例2.2:以数据库管理员的身份登录到数据库中。
Confidential © 2013 iSoftStone Holdings Limited. All Rights Reserved.
2.1.1 sqlplus命令
• 例2.6:以数据库操作员的身份登录到数据库中。 sqlplus sys/linDB123 as sysoper
tabs;
Confidential © 2013 iSoftStone Holdings Limited. All Rights Reserved. 13
2.2 SQL*Plus常用命令
• 2.2.1 HELP命令。 • 2.2.2 SET命令。 • 2.2.3 SHOW命令。 • 2.2.4 PROMPT命令。 • 2.2.2 SAVE和@命令。 • 2.2.6 EDIT命令。 • 2.2.7 RUN(/)命令。
Confidential © 2013 iSoftStone Holdings Limited. All Rights Reserved.
2.1 登录到数据库
2.1.1 sqlplus命令。 2.1.2 connect命令。
Confidential © 2013 iSoftStone Holdings Limited. All Rights Reserved.
2.2.1 help命令
sqlplus登陆使用

sqlplus登陆使⽤select * from dept;input order by dname; 追加⽂本命令 del n 删除语句celar buffer ; 清除缓冲区的命令conn sys as sysdba 登陆⽤户⼀般只要安装了oracle的服务器端或者客户端,sqlplus都被默认安装。
⽽sqlplusw只是在sqlplus上添加了⼀个窗体,在其上执⾏SQL语句与sqlplus完全相同。
sqlplus的主要应⽤场景为查看/设置参数、执⾏SQL脚本等。
1.利⽤sqlplus登录数据库sqlplus和sqlplusw都是oracle安装⽬录下的可执⾏⽂件。
可以在命令窗⼝中执⾏如下命令进⾏登录。
sqlplus username/password@netservicename其中,username/password为登录数据库所使⽤的⽤户名和密码;netservicename是要进⾏数据库连接的本地Net服务名。
以登录Net服务tst为例,需要在命令⾏中执⾏如下代码:sqlplus system/oracle@tst成功登录tst数据库之后的界⾯如图所⽰:2.查看数据库参数在oracle中,查看数据库参数应该使⽤show parameter命令。
例如,查看当前数据库实例名的命令如下所⽰。
其中,show parameter要求数据库显⽰参数;instance_name为参数名称。
分析执⾏结果可知,当前数据库的实例名为tst。
当然,对于⽤户来说,不可能每次都准确⽆误地指定参数名。
因此,show parameter⽀持部分匹配功能,也就是说,⽤户只需输⼊部分参数名即可。
当⽤户执⾏show parameter instance命令时,oracle将所有包含instance字样的参数全部显⽰给⽤户。
注意,此处的show parameter命令,不⽀持通配符。
3.关闭/启动数据库(1)以DBA⾝份登录数据库在数据库服务器的本机上,可以⽆需输⼊⽤户名/密码;as sysdba表⽰以数据库管理员⾝份登录数据库。
oracle_plsql语句大全

sql语句的编程手册SQL PLUS一、SQL PLUS1 引言SQL命令以下17个是作为语句开头的关键字:alter drop revokeaudit grant rollback*commit* insert selectcomment lock updatecreate noaudit validatedelete rename这些命令必须以“;”结尾带*命令句尾不必加分号,并且不存入SQL缓存区。
SQL中没有的SQL*PLUS命令这些命令不存入SQL缓存区@ define pause# del quit$ describe remark/ disconnect runaccept document saveappend edit setbreak exit showbtitle get spoolchange help sqlplusclear host startcolumn input timingcompute list ttitleconnect newpage undefinecopy---------2 数据库查询数据字典TAB 用户创建的所有基表、视图和同义词清单DTAB 构成数据字典的所有表COL 用户创建的基表的所有列定义的清单CA TALOG 用户可存取的所有基表清单select * from tab;describe命令描述基表的结构信息describe deptselect *from emp;select empno,ename,jobfrom emp;select * from deptorder by deptno desc;逻辑运算符= !=或<> > >= < <=inbetween value1 and value2like%_in nullnotno in,is not null谓词in和not in有哪些职员和分析员select ename,jobfrom empwhere job in ('clerk','analyst');select ename,jobfrom empwhere job not in ('clerk','analyst');谓词between和not between哪些雇员的工资在2000和3000之间select ename,job,sal from empwhere sal between 2000 and 3000;select ename,job,sal from empwhere sal not between 2000 and 3000;谓词like,not likeselect ename,deptno from empwhere ename like 'S%';(以字母S开头)select ename,deptno from empwhere ename like '%K';(以K结尾)select ename,deptno from empwhere ename like 'W___';(以W开头,后面仅有三个字母)select ename,job from empwhere job not like 'sales%';(哪些雇员的工种名不以sales开头)谓词is null,is not null没有奖金的雇员(即commision为null)select ename,job from empwhere comm is null;select ename,job from empwhere comm is not null;多条件查询select ename,jobfrom empwhere deptno=20and job!='clerk';表达式+ - * /算术表达式选择奖金高于其工资的5%的雇员select ename,sal,comm,comm/sal from emp where comm>.05*salorder by comm/sal desc;日期型数据的运算add two days to 6-Mar-876-Mar-87 + 2 = 8-Mar-87add two hours to 6-Mar-876-Mar-87 + 2/24 = 6-Mar-87 and 2hrsadd 15 seconds to 6-Mar-876-Mar-87 + 15/(24*60*60) = 6-Mar-87 and 15 secs列名的别名select ename employee from empwhere deptno=10;(别名:employee)select ename,sal,comm,comm/sal "C/S RATIO" from empwhere comm>.05*salorder by comm/sal desc;SQL命令的编辑list or l 显示缓冲区的内容list 4 显示当前SQL命令的第4行,并把第4行作为当前行,在该行号后面有个*。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQLPLUS命令的使用大全(加入日期:2005-12-12)【保存文章至硬盘】【打印文章】【字体:大中小】分享到:1. 执行一个SQL脚本文件SQL>start file_nameSQL>@ file_name我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。
2. 对当前的输入进行编辑SQL>edit3. 重新运行上一次运行的sql语句SQL>/4. 将显示的内容输出到指定文件SQL> SPOOL file_name在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。
5. 关闭spool输出SQL> SPOOL OFF只有关闭spool输出,才会在输出文件中看到输出的内容。
6.显示一个表的结构SQL> desc table_name7. COL命令:主要格式化列的显示形式。
该命令有许多选项,具体如下:COL[UMN] [{ column|expr} [ option ...]]Option选项可以是如下的子句:ALI[AS] aliasCLE[AR]FOLD_A[FTER]FOLD_B[EFORE]FOR[MAT] formatHEA[DING] textJUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}LIKE { expr|alias}NEWL[INE]NEW_V[ALUE] variableNOPRI[NT]|PRI[NT]NUL[L] textOLD_V[ALUE] variableON|OFFWRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]1). 改变缺省的列标题COLUMN column_name HEADING column_headingFor example:Sql>select * from dept;DEPTNO DNAME LOC---------- ---------------------------- ---------10 ACCOUNTING NEW YORKsql>col LOC heading locationsql>select * from dept;DEPTNO DNAME location--------- ---------------------------- -----------10 ACCOUNTING NEW YORK2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上:Sql>select * from empDepartment name Salary---------- ---------- ----------10 aaa 11SQL> COLUMN ENAME HEADING ’Employee|Name’Sql>select * from empEmployeeDepartment name Salary---------- ---------- ----------10 aaa 11note: the col heading turn into two lines from one line.3). 改变列的显示长度:FOR[MAT] formatSql>select empno,ename,job from emp;EMPNO ENAME JOB---------- ---------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMANSql> col ename format a40EMPNO ENAME JOB---------- ---------------------------------------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMAN4). 设置列标题的对齐方式JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}SQL> col ename justify centerSQL> /EMPNO ENAME JOB---------- ---------------------------------------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMAN对于NUMBER型的列,列标题缺省在右边,其它类型的列标题缺省在左边5). 不让一个列显示在屏幕上NOPRI[NT]|PRI[NT]SQL> col job noprintSQL> /EMPNO ENAME---------- ----------------------------------------7369 SMITH7499 ALLEN7521 WARD6). 格式化NUMBER类型列的显示:SQL> COLUMN SAL FORMAT $99,990SQL> /EmployeeDepartment Name Salary Commission---------- ---------- --------- ----------30 ALLEN $1,600 3007). 显示列值时,如果列值为NULL值,用text值代替NULL值COMM NUL[L] textSQL>COL COMM NUL[L] text8). 设置一个列的回绕方式WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]COL1--------------------HOW ARE YOU?SQL>COL COL1 FORMAT A5SQL>COL COL1 WRAPPEDCOL1-----HOW ARE YOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOWAREYOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOW A9). 显示列的当前的显示属性值SQL> COLUMN column_name10). 将所有列的显示属性设为缺省值SQL> CLEAR COLUMNS8. 屏蔽掉一个列中显示的相同的值BREAK ON break_columnSQL> BREAK ON DEPTNOSQL> SELECT DEPTNO, ENAME, SALFROM EMPWHERE SAL < 2500ORDER BY DEPTNO;DEPTNO ENAME SAL---------- ----------- ---------10 CLARK 2450MILLER 130020 SMITH 800ADAMS 11009. 在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n 个空行。
BREAK ON break_column SKIP nSQL> BREAK ON DEPTNO SKIP 1SQL> /DEPTNO ENAME SAL---------- ----------- ---------10 CLARK 2450MILLER 130020 SMITH 800ADAMS 110010. 显示对BREAK的设置SQL> BREAK11. 删除6、7的设置SQL> CLEAR BREAKS12. Set 命令:该命令包含许多子命令:SET system_variable valuesystem_variable value 可以是如下的子句之一:APPI[NFO]{ON|OFF|text}ARRAY[SIZE] {15|n}AUTO[COMMIT]{ON|OFF|IMM[EDIATE]|n}AUTOP[RINT] {ON|OFF}AUTORECOVERY [ON|OFF]AUTOT[RACE] {ON|OFF|TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]BLO[CKTERMINATOR] {.|c}CMDS[EP] {;|c|ON|OFF}COLSEP {_|text}COM[PATIBILITY]{V7|V8|NATIVE}CON[CAT] {.|c|ON|OFF}COPYC[OMMIT] {0|n}COPYTYPECHECK {ON|OFF}DEF[INE] {&|c|ON|OFF}DESCRIBE [DEPTH {1|n|ALL}][LINENUM {ON|OFF}][INDENT {ON|OFF}]ECHO {ON|OFF}EDITF[ILE] file_name[.ext]EMB[EDDED] {ON|OFF}ESC[APE] {|c|ON|OFF}FEED[BACK] {6|n|ON|OFF}FLAGGER {OFF|ENTRY |INTERMED[IATE]|FULL}FLU[SH] {ON|OFF}HEA[DING] {ON|OFF}HEADS[EP] {||c|ON|OFF}INSTANCE [instance_path|LOCAL]LIN[ESIZE] {80|n}LOBOF[FSET] {n|1}LOGSOURCE [pathname]LONG {80|n}LONGC[HUNKSIZE] {80|n}MARK[UP] HTML [ON|OFF] [HEAD text] [BODY text] [ENTMAP {ON|OFF}] [SPOOL{ON|OFF}] [PRE[FORMAT] {ON|OFF}]NEWP[AGE] {1|n|NONE}NULL textNUMF[ORMAT] formatNUM[WIDTH] {10|n}PAGES[IZE] {24|n}PAU[SE] {ON|OFF|text}RECSEP {WR[APPED]|EA[CH]|OFF}RECSEPCHAR {_|c}SERVEROUT[PUT] {ON|OFF} [SIZE n] [FOR[MAT] {WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]}]SHIFT[INOUT] {VIS[IBLE]|INV[ISIBLE]}SHOW[MODE] {ON|OFF}SQLBL[ANKLINES] {ON|OFF}SQLC[ASE] {MIX[ED]|LO[WER]|UP[PER]}SQLCO[NTINUE] {> |text}SQLN[UMBER] {ON|OFF}SQLPRE[FIX] {#|c}SQLP[ROMPT] {SQL>|text}SQLT[ERMINATOR] {;|c|ON|OFF}SUF[FIX] {SQL|text}TAB {ON|OFF}TERM[OUT] {ON|OFF}TI[ME] {ON|OFF}TIMI[NG] {ON|OFF}TRIM[OUT] {ON|OFF}TRIMS[POOL] {ON|OFF}UND[ERLINE] {-|c|ON|OFF}VER[IFY] {ON|OFF}WRA[P] {ON|OFF}1). 设置当前session是否对修改的数据进行自动提交SQL>SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n}2).在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句SQL> SET ECHO {ON|OFF}3).是否显示当前sql语句查询或修改的行数SQL> SET FEED[BACK] {6|n|ON|OFF}默认只有结果大于6行时才显示结果的行数。