当前位置:数据库 > Oracle >>

oracle SQL*PLUS使用介绍

oracle SQL*PLUS使用介绍
 
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帮助信息:
[sql] 
C:\Windows\system32>sqlplus -h;  
  
SQL*Plus: Release 11.1.0.6.0 - Production  
  
Copyright (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>] ]  
 
[sql] 
C:\Windows\system32>sqlplus -v  
  
SQL*Plus: Release 11.1.0.6.0 - Production  
 
logon参数语法:
 
[plain] 
{username [/password][@connect_identifier] | /}   
[AS {SYSOPER |SYSDBA | SYSASM}] | /NOLOG  
 
start参数语法:
 
[plain] 
@{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] 
SQL> select *  from test;  
  
ID                                                 NAME  
-------------------------------------------------- --------------------  
101                                                topwqp  
102                                                topwqp  
  
SQL> list  
  1* select *  from test  
SQL>  
缓冲区中的命令 怎么样运行:
可以使用 run命令,或者 / 命令运行上一条命令
 
run和/的区别:
 
run显示 当前命令
/ 不显示命令
 
sqlplus 并不保存 sql*plus 的命令,
sqlplus 缓存区 只包括  sql 和 PL/sql 语句 ;
 
ex: /
[sql] 
SQL> /  
  
ID                                                 NAME  
-------------------------------------------------- --------------------  
101                                                topwqp  
102                                                topwqp  
 
ex:run
[sql] 
SQL> run  
  1* select *  from test  
  
ID                                                 NAME  
-------------------------------------------------- --------------------  
101                                                topwqp  
102                                                topwqp  
 
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,