Oracle在Oracle 8.0.5之前都是使用字符界面来进行数据库的操作与管理的。而那时候其他最重要的工具就是SQL*plus, 它既可以编辑SQL语句,也可以编辑和调试pl/sql的程序。
下面我一步一步的来学习sql*plus的基本使用:
一、启动sql*plus
在UNIX/Linux系统下首先su成oracle用户
su - oracle,(当然也可以不使用这个用户,其他被你许可为可以使用和管理sql*plus或者是数据库的用户都可以登录到这个地方)
运行sqlplus 命令即可以启动sql*plus, 它会提示你需要输入用户名和用户密码,然后进行登录。
为了更好的操作,在新建数据库的时候,oracle缺省的有一些方案,人事方案是hr, 我们为这个方案解锁,使其可用。
按下面的步骤操作:
sqlplus /NOLOG
CONNECT SYS/密码 AS SYSDBA
STARTUP --启动数据库示例。
ALTER USER HR IDENTIFIED BY HR ACCOUNT UNLOCK --这样即解锁hr用户,并设置了密码hr.
exit --退出sqlplus, 然后再次运sqlplus,输入 hr和其用户密码,即可登录到数据库。
二、输入和执行命令:
在sqlplus可以输入三种命令:
1、SQL命令:对数据库的信息进行操作。
2、PL/SQL程序块:对数据库的信息进行操作。
3、SQL*PLUS命令:格式化查询结果,设置运行选项,编辑和存储SQL命令和PL/SQL命令。
SQL*PLUS将输入到其中的sql,pl/sq命令进行存储,但是缺省却不存储SQL*PLUS命令。
如果需要存储SQL*PLUS命令需要另个处理。
下面介绍。
输入命令后有以下三种方式操作:
1、使用分号,按回车:sql*plus会立即执行你输入的sql语句。
2、使用斜杠 (/):其作用和分号是一致的。
3、使用空格行,然后按回车。这时将出现SQL>提示符。你输入的sql语句将存储到sql*plus的缓冲区中。
当你输入CREATE FUNCTION, CREATE PROCEDURE等pl/sql程序块时,SQL*PLUS自动进入编辑状态。也可以让你输入PL/SQL程序块:
如下面的例子:
SQL> DECLARE
2 X NUMBER := 100;
3 BEGIN
4 FOR i IN 1..10 LOOP
5 IF MOD(i, 2) = 0 THEN
6 INSERT INTO temp VALUES(i, x, 'i is even');
7 ELSE
8 INSERT INOT temp VALUES(I, x, 'i is odd');
9 END IF;
10 x := x + 100;
11 END LOOP;
12 END;
13 .
45 /
输入完成后以 . 作为结束,以/运行你的程序代码块。
可以使用sql*plus的命令来操作SQL命令和PL/SQL块,格式化和打印查询结果。