SQL*PLUS使用(一)

来源:互联网 发布:淘宝加盟被骗怎么报案 编辑:程序博客网 时间:2024/06/07 05:45

学习资料:

                   1:WIKI

                   2: Oracle document

                   3:  sql-plus website

                   4:SQL 教程

                     5:PL/SQL教程

1:介绍sqlplus

SQL*PLUS 是一种交互式,批处理查询工具;是最基本的oracle数据库实用工具,通过一个基本的命令行接口,通常被用户,管理员,和程序开发者使用。
通过sqlplus发送命令到oracle 服务器去执行,


2:命令类型

1:SQL 语句
2:PL/SQL 块
3:SQL*Plus内部命令,例如,参数控制命令 set ,环境监视命令 show
4: comments  注释
5: 外部的命令,前缀是 !

一个脚本中能够包含以上这些内容。

如果发的是SQL命令, 后台用SQL Engine处理
如果发的命令是PL/SQL ,用oracle对象的
PL/SQL Engine


ORACLE_HOME 定义Oralce软件安装 适用于 SQLPLUS
文件存放的位置。


ORACLE_SID是oracle server必须的,不是SQL/PLUS
必须的 。
PATH: oracle_home/bin路径下,
TNS_ADMIN 是sqlPlus需要连接到远端的服务器用的
tnsnames.ora是用于指明文件的路径


SQLPATH 定义SQL脚本的位置路径;
如果没有指定路径现在当前路径下找相应的 脚本,如果
没有找到,则到SQLPATH路径下运行脚本。

3:sqlplus 命令的参数:


option参数:


-H 显示帮助, -V 显示sqlplus版本   -SILENT 用在脚本中,不显示输出

显示sqlplus帮助信息:
C:\Windows\system32>sqlplus -h;SQL*Plus: Release 11.1.0.6.0 - ProductionCopyright (c) 1982, 2007, Oracle.  All rights reserved.使用 SQL*Plus 执行 SQL, PL/SQL 和 SQL*Plus 语句。用法 1: sqlplus -H | -V    -H             显示 SQL*Plus 版本和                   用法帮助。    -V             显示 SQL*Plus 版本。用法 2: sqlplus [ [<option>] [<logon>] [<start>] ]



C:\Windows\system32>sqlplus -vSQL*Plus: Release 11.1.0.6.0 - Production



logon参数语法:


{username [/password][@connect_identifier] | /} [AS {SYSOPER |SYSDBA | SYSASM}] | /NOLOG


start参数语法:

@{url | file_name[.ext]} [arg......]

直接连接有安全风险:  如: sqlplus hr/hr@orcl


如果别人远程连接会通过进程看到登录的用户名密码了。


只输入用户名 ,当提示输入密码的时候再输入密码,防止密码被盗,
如果windows系统,一般是多任务单用户,如果在unix,linux系统上,一般是
多任务多用户,别的用户就可以看到登录用户名密码信息。

sqlplus / 是使用操作系统的认证,适用于客户端和服务器都在一台机器的情况

as 用于系统级别的 的用户登录
ex:        sqlplus /  as  sysdba;

sqlplus /nolog  
没有和数据库建立连接,
如果想连接数据库
可以使用:
conn /as sysdba;
这个时候才能连接上来

4:SQL Buffer

是内存的缓存区,放着上一条执行的 sql /  plsql 命令

list用于列出上次执行的sql
SQL> select *  from test;ID                                                 NAME-------------------------------------------------- --------------------101                                                topwqp102                                                topwqpSQL> list  1* select *  from testSQL>
缓冲区中的命令 怎么样运行:
可以使用 run命令,或者 / 命令运行上一条命令


run和/的区别:

run显示 当前命令
/ 不显示命令

sqlplus 并不保存 sql*plus 的命令,
sqlplus 缓存区 只包括  sql 和 PL/sql 语句 ;


ex: /
SQL> /ID                                                 NAME-------------------------------------------------- --------------------101                                                topwqp102                                                topwqp


ex:run
SQL> run  1* select *  from testID                                                 NAME-------------------------------------------------- --------------------101                                                topwqp102                                                topwqp