Oracle 的 Sql*Plus 常用命令介绍

    技术2024-11-21  3

    估计用 Oracle 的几乎一开始都是使用 Sql*Plus 吧,

    毕竟这个工具可以运行在任何的 Oracle 运行的平台上,这个工具呢,您可以在客户端实现安装,也可以在服务端安装,在客户端的安装呢,主要是通过安装 Oracle 提供的客户端软件安装,而在服务端的话,则是通过安装 Oracle 时自动安装的,Sql*Plus 呢,其是一个基于 C/S 的 Sql 开发工具,包括客户层和服务层,其可以实现执行 Sql 语句或者是执行含有 Sql 语句的文件,同时,其也能够执行 PL/Sql 语句,所以说是非常的方便啊,这一篇博文呢,我将会介绍一些关于 Sql*Plus 常用的命令,

    注意是常用的命令,而非那些并不是很常用的又比较钻牛角尖的命令!!!

    其中有一些命令也还是很实用的!!!

    1. 连接 Oracle 命令

        您可以在 DOS 窗口下运行 SqlPlus 命令或者是 SqlPlus/nolog 等等诸如的命令,

        但是需要明白的是,这里呢,您要想直接在 DOS 下运行上面的命令,还必须设置好环境变量,

        因为实质上,您运行的这条命令所在路径是

       D:/app/XiaoZhen/product/11.1.0/db_1/BIN 下的 SqlPlus.exe

        (该路径可能随机器的安装路径不同而不同)

    2. 登陆 Oracle 命令

        使用 connect 用户名/密码 ,或者是直接运行 connect (connect 命令是可以缩写为 conn 的),

        如果是直接使用 connect 命令的话,则会在后续的运行中提示输入用户名和密码,

        直接运行 connect 命令呢,有一大好处,就是您输入的密码会自动隐藏,不让用户看见,

        比如下面的例子中口令行就被隐藏了

    3. “ /“命令

        这里需要提及一个东西,就是当运行 Sql*Plus 时, Oracle 会在在缓冲区中保留最后的执行命令,

        而针对这个缓冲区中的保存的命令,可以使用符号 “/”来快速访问,

        即可以使用 “/”命令来再次运行您最后执行的命令

       

    4. Sql*Plus 行编辑之 List 命令

        这里呢,也还是需要提一下,就是 Sql*Plus 呢提供了一个行编辑的功能,   

        这个功能呢主要是针对快速修改 Sql 缓冲区中的 Sql 语句,并且再次用来执行。

        需要注意的是,由于缓冲区中只保存了您执行的最后一条 Sql 语句,

        而行编辑就是针对这一条语句来说的,因为这一条 Sql 语句可能有 n 行,

        List 命令呢,总共有三种形式,及 List --列出缓冲区中所有的行,

        List n --列出缓冲区中的第 n 行,List * --列出当前行,

        然后呢,您需要注意的是哪一行才是当前行,当前行呢,在使用 List 列出后,

        会在其前面有一个 * 标志,当前行会随着您的选择而变化。

        下面的例子中 Sql 语句总共有三行,您可以注意 * 的变化

    5. Sql*Plus 行编辑之 Del 命令

        这个 Del 命令呢,就是用来删除缓冲区中储存的 Sql 语句的指定的行的。

        形式呢,也可想而知,有三种,

        即 Del --删除所有行,Del n --删除指定行,Del * --删除当前行

    6. Sql*Plus 行编辑之 Input 命令

        前面呢,介绍了行编辑的查看和删除,那么这里就要介绍如何往缓冲区中的行里头添加新的行,

        这里就是使用 Input 命令来实现的,详细的请看下面的演示过程

    7. Sql*Plus 行编辑之 Change 命令

        这个 Change 命令的作用就是将 Sql 缓冲区中的某行进行修改

    8. 清空 Sql 缓冲区命令

        Clear Buffer,作用的话自然是将 Sql 缓冲区中的所有行进行删除,即清除缓冲区

    9. 定义 Sql 编辑器命令

        define_editor

        各位呢,估计也是体会到了在 Sql*Plus 这个黑框框中输入 Sql 语句时的麻烦,

        但是呢,下面介绍的是您自己可以自定义一个编辑器来编辑 Sql 语句,

        下面的例子是先定义您的编辑器,我定义的是记事本程序(您也可以定义成其他的编辑器),

        然后我在缓冲区中留下一条 Sql 语句(就是执行一条 Sql 语句而已),

        再调用 ed(edit 的缩写),这样就可以调出一个记事本的窗口,并且,

        会自动将 Sql 缓冲区中的内容写入到这个记事本编辑器中,

        您呢,可以通过在记事本中编辑您的 Sql 语句,这些内容会自动保存到缓冲区中,

        然后再在 Sql*Plus 中运行 “/”来调用 Sql 缓冲区中的内容(即在记事本中定义的内容),

        其妙用呢,还请看下面的演示

    然后我再在上面的记事本中将 Sql 语句修改为 select max(empno) from emp;

    然后保存记事本中的内容,重新调用 “/”,

    10. Save 命令

        Save 命令呢,是将 Sql 缓冲区中的内容来保存到指定路径的文件中(默认是 . sql 的后缀名)。

        如果这个文件已经存在的话,将会写入失败,当然,如果您想覆盖掉这个文件的话,

        您可以在后面加 Replace 命令,比如 save d:/test replace

    11. 使用注释命令

        在 Sql*Plus 中,您可以使用三种方法实现注释,

        一是使用 Remark 命令来实现单行注释,且是用于命令文件中(即 . sql 中)

        二是使用 /*…….*/ 来实现多行注释,

        三是使用 -- 来实现单行注释

    12. Run 命令

        首先是 run(缩写是 r) 命令,这条命令的作用是列出当前缓冲区中的 Sql 语句,

        同时执行这条语句,其可以和“/”来对比,“/”这个命令呢,只是执行缓冲区中的语句,

        而并不会显示出缓冲区中的 Sql 语句

    13. @ 命令

        这个命令呢,是用来运行指定路径的文件中定义的 Sql (当然也包括PL/SQL)语句的。

        这个命令既可以在会话层使用,也可以在命令层使用,何为会话层呢,

        就是当用户登录了 Oracle 时,就会自动建立一个会话,在这个层面上就是会话层,

        而何为命令层呢,自然就是没有用户登录的情况下,而只是使用 SqlPlus 命令连接到了 Oracle ,

    14. Start 命令

        这个命令呢,和 “@”命令功能很类似,但是呢,这个命令却并没有 “@”命令那么强大,

        其只能运行在会话层,而不能工作在命令层。

    15. Get 命令

        Get 命令呢就是将指定路径下的 .sql 文件中的内容读取出来,但是并不执行这些内容。

    在 Sql*Plus 中呢,其实还有很多的命令,诸如格式化列啊,

    设置每一页显示的记录条数啊,设置每一行的宽度啊,

    设置指定名称列的宽度啊,

    这些呢,我就只稍微写点范例了,因为这些都太常见,几乎每次都要使用,

    估计大家也都很熟悉了,所以便不作介绍了

    col ename for a50

    set pagesize 100

    set linesize 200

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    最新回复(0)