1。 连接 database
- 远程连接,1)sqlplus /nolog –> conn –> 输入密码 2)sqlplus –> 输入密码
- 本地连接,1)使用本地管理员权限 sqlplus /nolog –> conn /as sysdba 不需要输入密码直接进入。 2)使用 password file 进行确认连接,sqlplus /no log –> conn sys/password as sysdba 。
2。使用前的几个命令
- 运行 sqlplus 帮助文档 @?/sqlplus/admin/help/hlpbld.sql helpus.sql ( 其中?代表的是oracle的家目录,即 $oracle_home,helpus.sql是参数) .. 要以 system登陆删除刚刚安装的脚本 @?/sqlplus/admin/help/helpdrop.sql查看help信息 help index ( 当没有安装脚本时,输入help没有翻译,安装完后。输入help会看到帮助信息) 。
- 修改$ORACLE_HOME/sqlplus/admin/glogin.sql配置文件,增加define _editor=vi即可,sqlplus启动的时候会读取glogin.sql脚本。
- start , 连接数据库时直接执行某个脚本 , 例如下边的 /tmp/asdf , 可以使用 start asdf
- save , 保存 sql buffer 中的内容到文件, save /tmp/asdf 这里保存的是指令
- get , 取出刚刚的文件的内容, get /tmp/asdf , 等同于 start /tmp/asdf,@ /tmp/asdf
- sqlplus中如果指令太长可以使用 -连字符,连接下一行,作为一行输入命令
- ctrl + c 可以强行中断在屏幕上输出的内容
- ctrl + d 退出
- 使用 host 或者 ! 可以从sqlplus中切换出来,切换到操作系统的bash中。再使用 exit 切换回 sqlplus环境 , 在bash中,此时 ps -ef 可观察内存,其中pid为子线程, ppid 为父线程,从内存的情况可以看出从sqlplus中切换出来是创建了新的bash,并非回到原来的bash,此bash的父进程是sqlplus进程,是嵌套关系。 !clear 可以直接执行命令, 并返回到 SQL 中。
- 输入错误时, 想重新输入 两下回车就可以了。
- 退出 exit / quit
- run 于 / 的区别,run是先显示sql buffer中的命令再输出结果,而 / 是直接将结果输出。在 pl/sql中的 / 表示输入完成,跟这个类似。
3。简单环境设置
column Name format a20 设置Name列长度20
column Price format 999.99 --定义价格列的格式,其中前边要多出一位,如果位数少了,负号就被冲掉了
column DayOut heading 'Days|out'-- 如上所示的分行 分出之后的效果 Days
out
set linesize 200
set pagesize 50
set newpage 0 新页与上一页之间的空行
set feedback 25 设置反馈信息25行后显示
set numwidth 5 设置所有数字列的宽度
set serveroutput on
spool abc.sql 会将接下来的内容保存到 abc.sql 中,直到 spool off 出现,spool off 也会被保存到 abc.sql 中,注意此处会将所有的内容保存,包括错误信息,错误提示信息,等等。
echo on / off 表示 当我们写完一个脚本以后,如果是 echo on 执行脚本时会将脚本输出, echo off 就只输出脚本结果。不输出脚本内容
set pause on --设置停顿 ,关看查询结果时,如果页多,一下子就过去了,所以要用More查看,类似 Linux中的 More,进入后要按回车进行,如果想停止使用ctrl+c回车停止
set autocommit off
4。修改常用指令
list , l , list 1 , l 1 , l m n 查看从 m 到 n 行
clear screen 清屏,类似 clear
change ,c c /a/c 将第3 行的 a 变成c ,
del del 删除当前行,del 3删除第3行 , del n * 从第 n 行到当前行, del n last 从第 n 行到最后一行。del m n 从m到n删除
clear buffer 清除 buffer
A[PPEND] text -- Adds text to the end of the current line 当增加的前面需要有空格时,命令要有2个空格 a and name='asdf' 注意 a 后有2个空格当想增加一整行而不是象 append是在当前行增加内容时,以第2行为例子,如果想在第2行之前插入,则输入 2 要增加内容,如果要在第2行之后插入,则首先输入2,然后回车,再输入要增加的内容
I [NPUT] text 增加1行语句
n 输入的数字的行号,变成当前行 , 例如 2
0 text 在第一行前添加内容
注释 : -- 单行, /* */ 多行
查看相关情况
show linesize pagesize newpage , title btitle off , clear columns breaks computes
替换变量
例如 select * from m where id=12; 此时可以使用替换变量,不用每次都输入sql语句,select * from m where id=&myid ; 此时输入回车时,sqlplus会提示你输入myid的值,输入12时跟上面的内容一样。例如 select * from m where id=12; 此时可以使用替换变量,不用每次都输入sql语句,select * from m where id=&myid ; 此时输入回车时,sqlplus会提示你输入myid的值,输入12时跟上面的内容一样。