SQLPlus提供了很多常用的命令,以下是常用命令的使用方法及示例。
1-> SQLPlus的登陆与退出
sqlplus -H | -V -H 将显示sqlplus的版本及帮助信息,-V将显示其版本信息 登陆语法: is: ([/][@] | /) [AS SYSDBA | AS SYSOPER] | /NOLOG [/]:登陆的用户名,密码 @:数据库的连接标识符,当未指定该参数,则连接到缺省的标识符 AS SYSDBA | AS SYSOPER:这两个参数描述使用数据库管理员的权限登陆 NOLOG:启动未连接到数据库的SQLPlus,在这之后可以使用conn登陆 下面是三种不同的登陆方式 [oracle@linux ~]$ sqlplus scott/tigger SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 30 14:04:06 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options [oracle@linux ~]$ sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 30 14:04:45 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> conn scott Enter password: Connected. SQL> exit /*使用exit或quit来退出*/ SQL> exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options [oracle@linux ~]$ sqlplus "/as sysdba" SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 30 14:05:44 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 退出:使用使用exit或quit来退出,如例子中所演示的
2->help 获得某一个命令的帮助信息
SQL> help desc DESCRIBE -------- Lists the column definitions for a table, view, or synonym, or the specifications for a function or procedure. DESC[RIBE] {[schema.]object[@connect_identifier]
3->LIST [m][*] [n](简写L)显示缓冲区的所有内容。* 当前行,m 第m行,n 第n行,m n 同时出现,m到n行
SQL> l 1 select * from emp 2 where sal > 2000 3* and deptno = 20 SQL> l 2 3 2 where sal > 2000 3* and deptno = 20
4->/ 执行缓冲区的内容
SQL> l 1 select * from emp 2 where sal > 2000 3 and deptno = 20 4* and ename = 'SCOTT' SQL> / EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- --------- ---------- ---------- ---------- 7788 SCOTT ANALYST 7566 19-APR-87 3000 20
5->n 设置当前行
SQL> 2 2* where sal > 2000 SQL> 3 3* and deptno = 20
6->n text 用text内容替换第n行
7->; 对于已输入完毕的SQL语句,输入;号表示该语句输入完毕。对于设置语句可以不使用分号,如上述的help desc
8->APPEND text(简写A text) 将text的内容追加到缓冲区尾部
SQL> l 1* select * from emp SQL> a where sal > 2000; 1* select * from empwhere sal > 2000
9->CHANGE/old/new(简写C /old/new) 将当前行中的old替换为new
10->CHANGE/text(C/text) 删除当前行中的text
SQL> l 1 select * from emp 2 where sal > 2000 3* and deptno = 10 SQL> 3 3* and deptno = 10 SQL> c /and deptno = 10 3* SQL> l 1 select * from emp 2 where sal > 2000 3*
11->CLEAR BUFFER(CL BUFF)清除整个SQL缓冲区
12->DEL 删除当前行
13->show user 显示当前登陆的用户
14->SAVE 保存当前缓冲区的内容到文件
15->GET 把磁盘上的命令文件调入到当前缓冲区
SQL> cl buff buffer cleared SQL> get query.sql 1 select * 2 from emp 3* where sal > 2000
16->START/@ filename 运行命令文件
SQL> get query.sql 1 select * 2 from emp 3* where sal > 2000 SQL> @query.sql
17->SET LINESIZE n 设置每行的字符数,默认80,如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示。
SQL> select * from scott.emp where ename = 'SCOTT'; /*以下是未设置的结果*/ EMPNO ENAME JOB MGR HIREDATE SAL COMM ---------- ---------- --------- ---------- --------- ---------- ---------- DEPTNO ---------- 7788 SCOTT ANALYST 7566 19-APR-87 3000 20 SQL> set linesize 200 SQL> select * from scott.emp where ename = 'SCOTT'; /*以下是设置后的结果*/ EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- --------- ---------- ---------- ---------- 7788 SCOTT ANALYST 7566 19-APR-87 3000 20
18->dual 伪表的使用,注意Oracle与MSSQL的差异,下面的操作MSSQL无需伪表即可完成,几不需要from dual就可以完成一些特定的功能
19->spool filename 将接下来屏幕上输入的所有内容输出到文件,包括输入的SQL语句
20->spool off 需要使用off后,才能将内容输出到文件
更多:Linux (RHEL 5.4)下安装Oracle 10g R2 使用Uniread实现SQLplus翻页功能