oracle 安装与SQLPLUS简单用法

一 安装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 按<enter>键继续

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工种的员工姓名

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

按<enter>键继续

请输入部门: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行。

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐