您的位置:首页 > 数据库

SQLPLus的一些常用的基本操作

2011-12-05 23:15 183 查看
SQLPlus
由于SQLPlus修改数据不容易,所以一般会使用记事本程序的方式进行编辑,直接在命令窗口中输入“ed 文件名”,如图1



图 1
如果文件不存在,会弹出图1的窗口,点击“是”,就创建一个xxx.sql文件,然后打开;如果该文件存在,则弹出该sql文件,可以进行编辑,编辑后,就可以通过@文件名方式执行命令。除了可以通过sqlplus建立文件外,还可以通过@查找磁盘上的文件,比如在D盘有一个文件mySQL.sql ,那么要运行该文件就是用

SQL>@D:mySQL

即可。如果文件名的后缀为sql的话,可以不输入后缀名,如上,如果后缀名不为sql,则需要输入后缀名。因为默认找到的后缀名就是“*.sql”.比如在E盘的sql目录下有个mySQL.sql文件,现在需要执行它,则使用以下命令,如图2



图 2
如果在同一目录下有两个名字一样但是后缀名不一样的文件,比如

E:\sql\mySQL.txt和E:\sql\mySQL.sql

输入的命令:

@E:sql\mySQL

系统会运行mySQL.sql文件。如果想执行mySQL.txt,则需要加后缀名,@ E:\sql\mySQL.txt.

如图3所示:



图 3
我们也可以使用其他用户连接,例如之前了解过的sys或system系统管理员和普通管理员,

conn 用户名/密码 [AS SYSDBA|SYSOPER]

如果连接系统管理员,则在连接的最后必须加上 AS SYSDBA,以系统管理员的身份登录。

conn sys/super_manager as sysdba

现在我们再来查询下之前emp表,

select * from emp;

查询的结果如图4所示:



图 4
提示表或视图不存在,这是因为emp表是在scott用户之下的,而系统管理员这个用户没有这个emp的表,所以在不同用户下想访问emp表,需要加上用户名,例如:

scott.emp;

不过要注意,如果当前用户是scott ,想访问sys系统管理员的系统表,则不能访问,例如:

select * from sys.dba_users

运行这句查询语句,就会报如上面找不到的该视图的或表的错误,如果当期用户是普通管理员,system,那么就可以访问系统表。当然,也需要加上sys.

很多时候,我们自己可能忘记了当前用户是哪个,那么,就可以使用

查询当前用户

show user;



图 5
查询当前用户的所有表

Select * from tab;

普通管理员的用户表共有173;而系统管理员(sys)的表共有4347个,而scott的表共有4个,如果图6 所示:



图6
查看表结构,例如:可以使用desc 表名称的形式查看表的结构:

desc 名称;



图7
输入“/”表示继续执行上一条命令。



图8
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: