热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

oracle安装与SQLPLUS简单用法

安装oracle数据库成功之后,会显示相关的数据库信息
一 安装oracle数据库成功之后,会显示相关的数据库信息:
全局数据库名:oracle
系统标识符(SID):oracle
服务器参数文件名:c:\oracle\product\10.2.0\db_1/dbs/spfileoracle.ora
Database Control URL为http://210.45.216.146:1158/em
数据库账户:SYS,SYSTEM,DBSNMP,SYSMAN
密码:oracle
iSQL*Plus URL 为:
http://210.45.216.146:5561/isqlplus
iSQL*Plus DBA URL 为:
http://210.45.216.146:5561/isqlplus/dba
查看C:\oracle\product\10.2.0\db_1\install\portlist.ini文件获得相应的OEM为:
http://210.45.216.146: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行。
推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • MyBatis错题分析解析及注意事项
    本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ... [详细]
author-avatar
wqgysxy
万企共赢商学院,国内实战网络营销网校。聚集国内顶级营销大师,横跨300个行业经验,超过100000个学员见证。官网:www.wanqigongying.com ,电话18688893947(以后换成400电话)
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有