当前位置: 首页 > news >正文

oracle调用sqlplus,oracle 安装与SQLPLUS简单用法

oracle 安装与SQLPLUS简单用法

时间:2019-02-06 12:20作者:网友投稿

一 安装oracle数据库成功之后,会显示相关的数据库信息:

全局数据库名:oracle

系统标识符(SID):oracle

服务器参数文件名:c:\oracle\product\10.2.0\db_1/dbs/spfileoracle.ora

Database Control URL为:1158/em

数据库账户:SYS,SYSTEM,DBSNMP,SYSMAN

密码:oracle

iSQL*Plus URL 为:

:5561/isqlplus

iSQL*Plus DBA URL 为:

:5561/isqlplus/dba

查看C:\oracle\product\10.2.0\db_1\install\portlist.ini文件获得相应的OEM为:

:1158/em/

二 SQLPLUS工具

SQLPLUS的主要功能为:输入,运行和调试SQL语句和PL/SQL块;执行管理数据库命令;处理数据,生成报表,格式化查询结果

1.启动SQLPLUS:

scott/tiger@oracle

2.获取SQLPLUS命令的帮助:

SQL> help index; //获得oracle所有命令

SQL> help list; //显示出list命令的帮助信息

3.退出SQLPLUS(在退出SQLPLUS之前,应该使用commit命令提交事务):

SQL> quit或者SQL> exit;

4.在SQLPLUS中输入三种类型的命令:

1) SQL命令:用于操作数据库中的信息

2) PL/SQL块:用于操作数据库中的信息

3) SQLPLUS命令:用于编辑,保存,运行SQL命令,PL/SQL块,格式化查询结果,自定义SQLPLUS环境等.

1),2)可以访问数据库,执行时将命令暂时存放到SQL缓冲区中.

3)不可以访问数据库,SQLPLUS命令也不能被存放到SQL缓冲区中.

5.缓冲区命令:

SQL>SELECT ; //把SELECT;保存到缓冲区中

SQL>EDIT; //编辑缓冲区中的内容

SQL>RUN 或者SQL>/ //执行缓冲区中的内容

SQL>CLEAR SCREEN //清除SQLPLUS的屏幕及屏幕缓冲区

6.运行命令

在SQLPLUS中可以使用三种方式运行SQL语句和PL/SQL块:1)命令行方式 2)SQL缓冲区方式 3)脚本文件方式

1)命令行方式:

1.1)以命令行方式运行SQL命令,只需要在输入完SQL语句之后,输入分号(;),或者在新的一行输入前斜线(/),按回车键即可

SQL> SELECT ename,sal FROM emp

2 WHERE deptno = 20;

1.2)以命令行方式运行PL/SQL块,只需要在输入完PL/SQL块之后,在新的一行输入前斜线(/),按回车键即可

SQL> SET SERVEROUTPUT ON

SQL> BEGIN

2 DBMS_OUTPUT.PUT_LINE('Hello Oracle!');

3 END;

4 /

1.3)EXECUTE(或者EXEC)命令,可以执行单条PL/SQL语句,不需要从缓冲区或脚本文件中执行.

SQL> SET SERVEROUTPUT ON

SQL> EXEC DBMS_OUTPUT.PUT_LINE('Hello ');

Hello

2)SQL缓冲区方式:

2.1)RUN命令:显示并运行当前存储在SQL缓冲区中的SQL语句或PL/SQL块,显示运行结果,

并使SQL缓冲区中的最后一行成为当前行

SQL> SELECT ename, sal FROM emp

2 WHERE deptno = 20

3 ;

ENAME SAL

---------- ----------

SMITH 800

JONES 2975

SCOTT 3000

ADAMS 1100

FORD 3000

SQL> RUN

1 SELECT ename, sal FROM emp

2 WHERE deptno = 20

3*

ENAME SAL

---------- ----------

SMITH 800

JONES 2975

SCOTT 3000

ADAMS 1100

FORD 3000

2.2)/命令:运行当前存储在SQL缓冲区中的SQL命令或PL/SQL块,显示运行结果,

而不显示SQL缓冲区中的SQL命令或PL/SQL块,也不会将SQL缓冲区中的最后一行成为当前行

SQL> SET SERVEROUTPUT ON

SQL> BEGIN

2 DBMS_OUTPUT.PUT_LINE('HELLO,ORACLE!');

3 END;

4 /

HELLO,ORACLE!

PL/SQL 过程已成功完成。

SQL> /

HELLO,ORACLE!

PL/SQL 过程已成功完成。

2.3)菜单命令

选择"文件"->"运行",它与RUN命令相同

3)脚本文件方式

3.1)START命令

格式: START filename[.ext] [arg1 arg2 arg3...]

脚本文件:D:\test.sql内容如下:

SELECT ename, sal FROM emp

WHERE deptno = &1

AND sal > &2;

使用START命令:

SQL> START D:\test.sql 20 2500

原值 2: WHERE deptno = &1

新值 2: WHERE deptno = 20

原值 3: AND sal > &2

新值 3: AND sal > 2500

ENAME SAL

---------- ----------

JONES 2975

SCOTT 3000

FORD 3000

3.2)@命令

@命令和START命令类似,区别在于:@命令既可以在SQLPLUS会话内部运行,也可以在命令行运行,

而START命令只能在SQLPLUS会话内运行.

7.替换变量命令

1)使用替换变量:其格式是在变量名称之前加一个&,以便在运行SQL命令时提示用户输入替换数据,

然后按输入数据运行SQL命令,如:

SQL> SELECT &a FROM emp

2 WHERE deptno = 20

3 AND job = '&b';

输入 a 的值: ename

原值 1: SELECT &a FROM emp

新值 1: SELECT ename FROM emp

输入 b 的值: CLERK

原值 3: AND job = '&b'

新值 3: AND job = 'CLERK'

ENAME

----------

SMITH

ADAMS

2)定义替换变量:事先用DEFINE命令定义替换变量,如:

SQL> DEFINE a = CLERK

SQL> SELECT ename FROM emp

2 WHERE deptno = 20

3 AND job = '&a';

原值 3: AND job = '&a'

新值 3: AND job = 'CLERK'

ENAME

----------

SMITH

ADAMS

3)查看替换变量

SQL> DEFINE a

DEFINE A = "CLERK" (CHAR)

4)清除替换变量

SQL> UNDEFINE a

8.与用户通信

可以使用PROMPT命令,PAUSE命令,ACCEPT命令与用户进行通信

1)PROMPT命令用于输出提示信息,以便使用户了解脚本文件的功能和运行情况

2)PAUSE命令用于暂停脚本文件的运行

3)ACCEPT命令可以让用户指定替换变量的类型(如CHAR,NUMBER,DATE),用PROMPT选项指定提示信息,

用HIDE选项隐藏输入,以便于用户输入替换变量

举例如下:

脚本文件:D:\test.sql内容如下:

ACCEPT pwd PROMPT '请输入密码' HIDE

PROMPT

PROMPT 显示XX部门XX工种的员工姓名

PROMPT ==========================

PROMPT 按键继续

PAUSE

ACCEPT a NUMBER PROMPT '请输入部门:'

ACCEPT b CHAR PROMPT '请输入工种:'

SELECT ename FROM emp

WHERE deptno = &a

AND job = '&b';

该脚本文件运行结果为:

SQL> START D:\test.sql

请输入密码*********

显示XX部门XX工种的员工姓名

==========================

按键继续

请输入部门:20

请输入工种:CLERK

原值 2: WHERE deptno = &a

新值 2: WHERE deptno = 20

原值 3: AND job = '&b'

新值 3: AND job = 'CLERK'

ENAME

----------

SMITH

ADAMS

9.绑定变量

1)定义绑定变量

可以使用VARIABLE命令来定义绑定变量.当在SQL语句或PL/SQL块中使用绑定变量时,

必须在绑定变量前加冒号(:).当直接给绑定变量赋值时,需要使用EXECUTE命令,例如:

SQL> VARIABLE no NUMBER

SQL> EXECUTE :no := 7788

PL/SQL 过程已成功完成。

SQL> SELECT ename FROM emp WHERE empno = :no;

ENAME

----------

SCOTT

2)输出绑定变量

使用PRINT命令输出绑定变量,例如:

SQL> PRINT no

NO

----------

7788

10.自定义SQLPLUS环境

SQL> SHOW ALL //查看所有环境变量

SQL> SHOW linesize pagesize

SQL> SET linesize 100 pagesize 24 //linesize代表行宽度,默认为80,pagesize表示每页显示的行数,默认为24

SQL> SHOW arraysize //arraysize用于设置从数据库中一次提取的行数,默认为15

SQL> SET arraysize 25

SQL> SHOW autocommit //autocommit用于设置是否自动提交,默认为OFF

SQL> SET autocommit on

SQL> SET colsep | //colsep 用于设置在选定列之间的分隔符,默认为空格

SQL> SELECT ename, sal FROM emp WHERE empno = 7788;

ENAME | SAL

----------|----------

SCOTT | 3000

SQL>SET heading off //heading表示是否显示列标题,默认为ON

SQL> SELECT ename, sal FROM emp WHERE empno = 7788;

SCOTT | 3000

SQL> SET serveroutput on //SEVEROUTPUT用于控制是否显示存储过程的输出,默认为OFF

SQL> EXEC dbms_output.put_line('hello oracle');

hello oracle

PL/SQL 过程已成功完成。

SQL> SET sqlprompt inputSQL> //sqlprompt用来设置SQLPLUS的命令提示符

inputSQL>

SQL>SET time on //time是否在SQLPLUS命令提示符前显示系统时间,默认设置为OFF

19:02:35 SQL>

SQL>SET underline = //underline用于设置下划线字符,默认值为"_"

SQL>SELECT count(*) FROM emp;

COUNT(*)

==========

14

SQL>STORE SET D:\setfile.sql //保存当前的SQLPLUS环境

已创建 file D:\setfile.sql

11.格式化查询结果

1)格式化列

SQL> COLUMN ename HEADING 雇员 JUSTIFY CENTER FORMAT A4

SQL> COLUMN sal HEADING 月薪 JUSTIFY CENTER FORMAT L99999.99

SQL> SELECT ename, sal FROM emp WHERE deptno = 20 AND sal > 2500;

雇员| 月薪

====|===================

JONE| ¥2975.00

SCOT| ¥3000.00

T |

FORD| ¥3000.00

SQL>COLUMN sal CLEAR //恢复列的格式

2)限制重复行

在限制重复行的同时,还可以在各个分组之间插入n个空行,其语法为:

BREAK ON break_column SKIP n

跑到新的一页,其语法为:

BREAK ON break_column SKIP PAGE

在每行之后插入n个空行,其语法为:

BREAK ON ROW SKIP n

在报表之后插入n个空行,其语法为:

BREAK ON REPORT SKIP n

SQL> BREAK ON deptno SKIP 1

SQL> SELECT deptno, ename, sal FROM emp WHERE sal < 2500

2 ORDER BY deptno;

DEPTNO ENAME SAL

---------- ---------- ----------

10 CLARK 2450

MILLER 1300

20 ADAMS 1100

SMITH 800

30 WARD 1250

MARTIN 1250

JAMES 950

TURNER 1500

ALLEN 1600

已选择9行。

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

相关文章:

  • oracle bi免费不,Oracle BI管理工具.doc
  • oracle查看expdp进度,impdp、expdp监控数据备份恢复完成进度(EXPDP/IMPDP/RMAN)
  • matlab x的几次方怎么表示,PPTx的几次方如何输入?
  • 群辉linux系统,[教程] 群晖VMM虚拟机安装Linux系统无法成功启动桌面的解决办法...
  • linux系统卡死鼠标不动,linux桌面环境鼠标假死.点不动
  • Linux中free函数头文件,FreeImage图形库如何在Linux下的使用
  • linux r如何运行软件,linux上R的使用
  • hnc8进linux环境,鸟哥的linux私房菜(基础篇,8、开机关机、在线)命令
  • 润乾连接linux数据库,Linux下使用润乾设计器
  • linux c语言拷贝u盘,用C语言编写linux cp 拷贝命令
  • linux是开发环境,Linux开发环境
  • 卸载win19安装linux,Win10 LTSC 2019 安装和卸载 linux 子系统
  • linux远程访问图形硬件,Psensor - 图形硬件温度监控器适用于Linux
  • linux如何查看内核内存使用情况,如何查看centos系统cpu/内存使用情况
  • linux设置开机显示详细信息,CentOS7.x 将开机进度条替换成显示详细信息
  • CAP 一致性协议及应用解析
  • express + mock 让前后台并行开发
  • Fundebug计费标准解释:事件数是如何定义的?
  • JavaScript函数式编程(一)
  • JS函数式编程 数组部分风格 ES6版
  • OSS Web直传 (文件图片)
  • Python3爬取英雄联盟英雄皮肤大图
  • 大主子表关联的性能优化方法
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 聊聊hikari连接池的leakDetectionThreshold
  • 每天一个设计模式之命令模式
  • 全栈开发——Linux
  • 思维导图—你不知道的JavaScript中卷
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 原生Ajax
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • mysql面试题分组并合并列
  • 阿里云ACE认证之理解CDN技术
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (JS基础)String 类型
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (二)学习JVM —— 垃圾回收机制
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (一)基于IDEA的JAVA基础10
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (转) Face-Resources
  • (转)母版页和相对路径
  • .chm格式文件如何阅读
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .net CHARTING图表控件下载地址
  • .net core 控制台应用程序读取配置文件app.config
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET 指南:抽象化实现的基类
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .Net开发笔记(二十)创建一个需要授权的第三方组件