您的位置:首页 > 数据库

SQL*PLUS的使用(2)―sqlplus命令

2010-10-20 14:36 141 查看
SQL*PLUS的使用(2)—sqlplus命令

[b]原文见我的QQ空间:http://user.qzone.qq.com/284648964?ptlang=2052

由于原文是写在我的QQ空间,文章转过来的过程中造图片丢失,对大家造成的影响深表歉意!
[/b]
SQL命令和PL/SQL都是不区分大小写的
一、sqlplus命令格式:
sqlplus [ [option] [logon] [start] ] 支持缩写。
1. option选项:一些参数,常用的三个。
-H [ELP] 获取帮助



-V [ERSION]sqlplus版本,不是ORCLE数据库的版本。通常是高版本的客户端可以连接到低版本的服务端。
-S[ILENT]以批处理方式运行脚本时,常用的选项。
2.logon指定连接服务器的字符串。
{[username]/[password]/[@connect_identifier] [as {sysoper|sysdab|sysasm]}]/nolog
connect_identifier在tnsnames.ora文件中指定的,这个文件存储在客户端。
tnsnames.ora在10G中的位置
C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
tnsnames.ora在11G中的位置
C:\oracle\network\admin\tnsnames.ora

例如: SYS/ZWT123@ORCL AS SYSDBA /NOLOG
NOLOG 不连接数据库,进入SQLPLUS。
基于安全性考虑,不要使用USERNAME/PASSWORD 格式。演示一下:



我们在任务管理器里面看一下:



管理员的密码很容易被人窃取了。

3.START 启动的脚本。

二、SQL BUFFER,SQL缓冲区存储最近一条SQL语句,最近一个PL/SQL语句块,不储存SQL*PLUS命令。
LIST 显示SQL BUFFER中的命令。
RUN 执行SQL BUFFER中的命令,先显示命令再执行。
/ 执行SQL BUFFER中的命令,不显示命令就执行。
save 可以把SQL BUFFER中的SQL语句和PL/SQL语句保存到文件,例如 :
SAVE E:/MYSQLSCRIPT/1.sql
三、安装SQL*PLUS命令得帮助。
以SYSTEM用户登录,然后运行hlpbld.sql.
F:\oracle\product\10.2.0\db_1\sqlplus\admin\help
SQL>@?\product\10.2.0\db_1\sqlplus\admin\help\hlpbld.sql helpus.sql
@表示执行脚本文件,?表示ORACLE_HOME的目录。
我们以SYSTEM用户登录后,先用HELP命令试一下,如果提示为:
HELP not accessible. 说明帮助没有安装。
(1)安装完毕后,我们可以用HELP INDEX查看所有的SQL*PLUS命令。
(2)退出SQL*PLUS
EXIT 或者QUIT ,或者HOST
(3)查看一下表的定义、视图定义 DESC(describe)
四、常用一些技巧。
1. 结束SQL语句有三种方法
(1)用分号;结束并执行。
(2)另起一行用 / 结束并执行。
(3)空一行,这种方法不执行语句,只是把它存到了SQL BUFFER中了。
提示:SQL语句过长可以使用“-”来表示续行。
2. 结束PL/SQL语句块:
(1)用句点. 另起一行,结束不执行,存到SQL BUFFER中。
(2)用/,另起一行,结束执行。
3. 在SQL*PLUS中执行操作系统命令,使用HOST。例如在LINUX系统中的SQL*PLUS中执行,LINUX命令。
host ls -l /home
4. SQL*PLUS与操作系统命令行之间的快速切换
从SQL*PLUS切换到操作系统命令行中,WINDOWS中SQL*PLUS使用$, LINUX中SQL*PLUS使用!,执行完操作系统命令,使用exit,可以再次返回到SQL*PLUS中
5.实现分页显示功能(pause)。
show pause可以查看是否启用的此功能。
show pagesize 查看每页显示多少行
set pause on | off
set pagesize 可以
回车可以翻到下一页
6.实现自动提交功能。
在SQL*PLUS中使用DML(insert update delete)语言时,所执行的结果只是存到缓冲区了,只有使用COMMIT命令,才会提交到数据库文件中,正常退出SQL*PLUS也会自动写到数据库中。
show autocommit
set autocommit on |off
set autocommit 10 表示执行10条SQL语句才提交一次。每个PL/SQL语句块算做一条。
7.每行显示字符大小。
show linesize (显示LINESIZE)
set linesize 150 (设置LINESIZE大小)
8.使用历史命令。
以前的版本我没用过也不知道,10G的版本是可以使用方向键可以使用以前用过的命令,学LINUX的命令行了。

如果是在UNIX/LINUX中可以使用ps -ef | grep sql,也可以看到。
本文出自 “清风雅阁” 博客,请务必保留此出处http://zwt7610.blog.51cto.com/1716831/408123
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: