oracle学习004 sqlplus的基本使用

-sqlplus

连接并登陆
sqlplus “用户名/密码[@主机名 as 身份]”

先连接再登陆
sqlplus /nolog
conn 用户名/密码[@主机名 as 身份]

退出:
quit
展示当前用户

show user;

–激活普通用户
解锁普通用户scott来做练习:
1:加密码:Alter user scott identified by 密码
2:解锁: alter user scott account unlock;

conn sys/pwd as sysdba
alter user scott identified by tiger;
alter user scott account unlock;
quit

–关闭实例

SHUTDOWN NORMAL:不允许新的连接、等待会话结束、等待事务结 束、做一个检查点并关闭数据文件。启动时不需要实例恢复。

SHUTDOWN TRANSACTIONAL:不允许新的连接、不等待会话结束、等
待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。

SHUTDOWN IMMEDIATE:不允许新的连接、不等待会话结束、不等待事
务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。 启动时不需要实例恢复。

SHUTDOWN ABORT:不允许新的连接、不等待会话结束、不等待事务结 束、不做检查点且没有关闭据文件。启动时自动进行实例恢复。

-关闭数据库的时间从长到短,相反,开启的时候是从短到长

–启动实例

startup [nomout/mount/open]
  nomount:仅打开实例
  mount: 读取控制文件,但不读数据文件
  open 读取数据文件,打开数据库
一般在需要备份时,mount 
默认是open

–查看帮助
help index 列出所有的帮助选项
要查具体的命令的用法:
Help 命令
如 help edit

—注意: sqlplus中的这些命令不要和sql语句混为一谈

-sqlplus的缓冲区

我们输入的sql命令,会被sqlplus储存在缓冲区里,
熟练利用缓冲区,可以提高我们书写sql的效率

因为缓冲区的内容 可以 修改/删除,再执行
用list / l 查看缓冲区内容

list 行号
作用:显示缓冲区中某一行的内容

Del 行号
作用:删除缓冲的sql语句
比如 del 2 删除缓冲区的第2行
Del 2 4 删除缓冲区的第2到4行

注意: list N后,第N行理解为当前行
再 del * 5, 即可删除当前行到第5行

Input : 往缓冲增加内容
典型用法:
L1 列出缓冲区第1行
Input xxxxx ,在第1行后追回xxxxx内容
Input是增加一行

C/change 修改缓冲区的某一行
典型用法:
L行号 列出某一行
c /修改内容/新内容

append 在某一行后追回内容
典型用法:
L行号, 列出行的内容
Append xxxx ,把xxxx内容追回到当前行的后面

/ 执行缓冲区

ed/edit 用外部编辑器编辑缓冲区
linux中先添加环境变量/home/oracle/.profile

export EDITOR=vim

window下使用的文本编辑器

–sqlplus与外部文本文件夹的交互
Get 路径/文件名
作用:是把外部文件的内容读到缓冲区,显示出来,但不执行.

@ 路径/文件名
作用:把外部文件内容读到缓冲区,不显示,并执行
Start 路径/文件名 同上

Run 路径/文件名
作用:读取外部文件内容读到缓冲区,显示出来,并执行

Save 路径/文件名 [create/append/replace]
作用:把缓冲区的内容保存到外部文件

–在sqlplus客户端中使用变量
场景:有时我们需要反复执行一个系列的sql语句,这些sql语句只有参数不同。
例:
Select &num from dual;
请输入num的值:
我们可以反复执行该语句,并输入num的值

也可以先定义一个变量及其值,再使用
语法: define 变量名=变量值
用法: select &变量名

注销变量:
Undefined 变量名

也可以在外部文件中 用 &1 &2…&n来预留变量
当@ 路径/文件名时,可以按顺序写 数字 参数,并会顺序赋&1 &2….&n

如:@ 路径/文件名 2 8

猜你喜欢

转载自blog.csdn.net/eebaicai/article/details/81486555