SQLPLUS用法大全
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 -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登陆使⽤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表⽰以数据库管理员⾝份登录数据库。
plsql使用教程

plsql使用教程PL/SQL是Oracle数据库的过程式编程语言,它结合了SQL的强大查询能力和程序设计语言的灵活性。
以下是一个简单的PL/SQL使用教程:1. 定义变量在PL/SQL中,可以使用DECLARE语句来定义变量。
例如:DECLAREnum INTEGER;name VARCHAR2(50);2. 使用SELECT查询数据可以使用SELECT语句从表中检索数据。
例如:SELECT * INTO num, name FROM employees WHERE employee_id = 100;3. 使用IF-THEN-ELSE进行条件判断PL/SQL提供了IF-THEN-ELSE语句来进行条件判断。
例如:IF num > 0 THENDBMS_OUTPUT.PUT_LINE('Number is positive');ELSEDBMS_OUTPUT.PUT_LINE('Number is negative');END IF;4. 使用FOR循环可以使用FOR循环来对一个集合进行迭代。
例如:FOR i IN 1..10 LOOPDBMS_OUTPUT.PUT_LINE('The value of i is: ' || i);END LOOP;5. 创建存储过程可以使用CREATE PROCEDURE语句来创建存储过程。
例如:CREATE PROCEDURE get_employee_details (p_employee_idIN NUMBER) ISv_employee_name VARCHAR2(50);BEGINSELECT employee_name INTO v_employee_name FROM employees WHERE employee_id = p_employee_id;DBMS_OUTPUT.PUT_LINE('Employee name is: ' ||v_employee_name);END;6. 调用存储过程可以使用EXECUTE语句来调用存储过程。
sqlplus常用set指令

sqlplus常⽤set指令set colsep' '; //##--域输出分隔符set echo off; //##--显⽰start启动的脚本中的每个sql命令,缺省为onset feedback off; //##--回显本次sql命令处理的记录条数,缺省为onset heading off; //##--输出域标题,缺省为onset pagesize 0; //##--输出每页⾏数,缺省为24,为了避免分页,可设定为0。
set linesize 80; //##--输出⼀⾏字符个数,缺省为80set numwidth 12; //##--输出number类型域长度,缺省为10set termout off; //##--显⽰脚本中的命令的执⾏结果,缺省为onset timing off; //##--显⽰每条sql命令的耗时,缺省为offset trimout on; //##--去除标准输出每⾏的拖尾空格,缺省为offset trimspool on; //##--去除重定向(spool)输出每⾏的拖尾空格,缺省为off===========================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命令:主要格式化列的显⽰形式。
sqlplus set用法

select column_name, data_type
from all_tab_columns
where table_name = v_tab_name
and owner = v_owner;
date_format varchar2(30) := 'yyyymmddhh24miss'; -- 日期格式
v_owner varchar2(30) := user;
v_tab_name varchar2(30) := upper(trim('&tab_name'));
dbms_output.put_line('spool ./data/&tab_name' || '_data.sql');
-- Print the insert field
dbms_output.put_line('variable field_list varchar2(4000);');
set line 10000 -- 设置一行显示的字符总数
set verify off -- 是否显示替代变量被替代前后的语句 on 显示 off 不显示
set head off -- 是否显示列标题 on 显示 off 不显示
@@ one_table.sql 'COMPONENT'; -- 执行main.sql目录下的one_table.sql 'COMPONENT' 是输入的参数
set heading off等问题2010-09-01 11:03set heading off——不显示每行的列名
sqlplus使用教程

Sqlplus基本操作1.登陆用户:sqlplus /as sysdba --以操作系统权限认证的oracle sys管理员登陆conn /as sysdba --不在cmd或者terminal当中暴露密码的登陆方式sqlplus scott/tiger --非管理员用户登陆sqlplus scott/tiger@orcl --非管理员用户使用tns别名登陆sqlplus sys/password@orcl as sysdba --管理员用户使用tns别名登陆sqlplus --不显露密码的登陆方式Enter user-name:sysEnter password:password as sysdba--以sys用户登陆的话必须要加上 as sysdba 子句cmd下登陆:sqlplus /nolog --进入sqlplus环境,如果直接打来sqlplus则不用这一步conn /as sysdba --以系统管理员身份(sysdba)登陆数据库2.用户管理系统用户sys;//系统管理员,拥有最高权限system;//本地管理员,次高权限scott;//普通用户,密码默认为tiger,默认未解锁登陆sqlplus / as sysdba;//登陆sys帐户sqlplus sys as sysdba;//登陆sys账户,方法二sqlplus scott/tiger;//登陆普通用户scott管理用户create user starive;//在管理员帐户下,创建用户starivealert user scott identified by tiger;//修改密码解锁scott用户:cmd下sqlplus /nolog --进入sqlplus环境conn /as sysdba --以系统管理员身份(sysdba)登陆数据库也可:sqlplus请输入用户名:sys输入口令:sys as sysdba //注意:在口令这里输入的密码后面必须要跟上as sysdba 才可以然后:alter user scott account unlock;commit;conn scott/tiger输入新口令:tiger。
sqlplus常用语句

sqlplus常用语句
SQLPlus是Oracle数据库中常用的交互式命令行工具,用于执行SQL语句和PL/SQL块。
以下是一些常用的SQLPlus语句:
1. 连接到数据库:
SQLPLUS username/password@database.
2. 退出SQLPlus:
EXIT 或 QUIT.
3. 执行SQL查询:
SELECT FROM table_name;
4. 显示表结构:
DESC table_name;
5. 执行存储过程或函数:
EXEC procedure_name;
6. 执行SQL脚本:
@path_to_script.sql.
7. 输出查询结果到文件:
SPOOL file_name.
8. 取消输出到文件:
SPOOL OFF.
9. 显示当前数据库会话信息: SHOW USER.
10. 设置SQLPlus环境变量:
SET option value.
这些是一些常用的SQLPlus语句,可以帮助你在SQLPlus中执行各种操作。
当然,SQLPlus还有很多其他命令和选项,具体使用取决于你的需求和情境。
希望这些信息能够帮助到你。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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命令。
它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。
下面就介绍一下一些常用的sql*plus命令:1. 执行一个SQL脚本文件SQL>start file_nameSQL>@ file_name我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。
@与@@的区别是什么?@等于start命令,用来运行一个sql脚本文件。
@命令调用当前目录下的,或指定全路径,或可以通过SQLPATH环境变量搜寻到的脚本文件。
该命令使用是一般要指定要执行的文件的全路径,否则从缺省路径(可用SQLPATH变量指定)下读取指定的文件。
@@用在sql脚本文件中,用来说明用@@执行的sql脚本文件与@@所在的文件在同一目录下,而不用指定要执行sql脚本文件的全路径,也不是从SQLPATH环境变量指定的路径中寻找sql脚本文件,该命令一般用在脚本文件中。
如:在c:\temp目录下有文件start.sql和nest_start.sql,start.sql脚本文件的内容为:@@nest_start.sql - - 相当于@ c:\temp\nest_start.sql则我们在sql*plus中,这样执行:SQL> @ c:\temp\start.sql2. 对当前的输入进行编辑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行时才显示结果的行数。