【赵渝强老师】Oracle数据库的客户端工具

安装并成功创建Oracle数据库后,便可以使用客户端工具来连接Oracle数据库。Oracle官方提供的客户端工具有:SQL*Plus、Oracle Enterprise Manager Database Express和SQL Developer。
一、 【实战】使用命令行工具SQL*Plus
在Oracle数据库系统中,用户对数据库的操作主要是通过SQLPlus来完成的。 SQLPlus作为Oracle数据库的客户端命令行工具,既可以建立位于数据库服务器上的数据库连接,也可以建立位于网络中的数据库连接。通过下面的Linux命令可以查看SQL*Plus的帮助信息。
sqlplus -h
| 视频讲解如下 | 
|---|
| 【赵渝强老师】Oracle的客户端工具SQL*PLUS | 
下面通过具体步骤来演示SQLPlus基本用法。
 (1)执行Linux命令使用SQLPlus登录Oracle数据库。
sqlplus / as sysdba
# 这里没有指定登录的用户,
# 将使用Oracle数据库的管理员用户sys进行登录。
(2)使用sys用户创建scott用户,并给scott用户授权使用users表空间。
SQL> create user c##scott identified by tiger default tablespace users;
SQL> grant connect,resource to c##scott;
SQL> alter user c##scott quota unlimited on users;
# 由于从Oracle数据库 12c版本开始引入了多租户容器数据库的概念,
# 因此这里创建的scott用户前加上了一个前缀c##。
(3)切换到scott用户上。
SQL> conn c##scott/tiger
(4)使用scott用户执行下面的SQL语句,将创建部门表DEPT和员工表EMP。
SQL> create table dept
(deptno number(2) constraint pk_dept primary key,
 dname varchar2(14) ,
 loc varchar2(13) ) ;
SQL> create table emp
(empno number(4) constraint pk_emp primary key,
 ename varchar2(10),
 job varchar2(9),
 mgr number(4),
 hiredate date,
 sal number(7,2),
 comm number(7,2),
 deptno number(2) constraint fk_deptno references dept);
(6)向部门表DEPT和员工表EMP中插入数据。
SQL> insert into dept values(10,'accounting','new york');
SQL> insert into dept values(20,'research','dallas');
SQL> insert into dept values(30,'sales','chicago');
SQL> insert into dept values(40,'operations','boston');
SQL> insert into emp values(7369,'smith','clerk',7902,to_date('17-12-1980','dd-mm-yyyy'),800,null,20);
SQL> insert into emp values(7499,'allen','salesman',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
SQL> insert into emp values(7521,'ward','salesman',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
SQL> insert into emp values(7566,'jones','manager',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,null,20);
SQL> insert into emp values(7654,'martin','salesman',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
SQL> insert into emp values(7698,'blake','manager',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,null,30);
SQL> insert into emp values(7782,'clark','manager',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,null,10);
SQL> insert into emp values(7788,'scott','analyst',7566,to_date('13-jul-87')-85,3000,null,20);
SQL> insert into emp values(7839,'king','president',null,to_date('17-11-1981','dd-mm-yyyy'),5000,null,10);
SQL> insert into emp values(7844,'turner','salesman',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
SQL> insert into emp values(7876,'adams','clerk',7788,to_date('13-jul-87')-51,1100,null,20);
SQL> insert into emp values(7900,'james','clerk',7698,to_date('3-12-1981','dd-mm-yyyy'),950,null,30);
SQL> insert into emp values(7902,'ford','analyst',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,null,20);
SQL> insert into emp values(7934,'miller','clerk',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,null,10);
SQL> commit;
(7)查询员工表emp的数据。
SQL> set linesize 200
SQL> set pagesize 20
SQL> select * from emp;
# 输出的结果如下所示。
     EMPNO ENAME      JOB	       MGR HIREDATE	    SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK	      7902 17-DEC-80	    800 		   		20
      7499 ALLEN      SALESMAN	  7698 20-FEB-81	   1600        300	    30
      7521 WARD       SALESMAN	  7698 22-FEB-81	   1250        500	    30
      7566 JONES      MANAGER	  7839 02-APR-81	   2975 		   		20
      7654 MARTIN     SALESMAN	  7698 28-SEP-81	   1250       	1400    30
      7698 BLAKE      MANAGER	  7839 01-MAY-81	   2850 		   		30
      7782 CLARK      MANAGER	  7839 09-JUN-81	   2450 		   		10
      7788 SCOTT      ANALYST	  7566 19-APR-87	   3000 		   		20
      7839 KING       PRESIDENT        17-NOV-81	   5000 		   		10
      7844 TURNER     SALESMAN	  7698 08-SEP-81	   1500 	 	0		30
      7876 ADAMS      CLERK	      7788 23-MAY-87	   1100 		   		20
      7900 JAMES      CLERK	      7698 03-DEC-81	    950 		   		30
      7902 FORD       ANALYST	  7566 03-DEC-81  	   3000 		   		20
      7934 MILLER     CLERK	      7782 23-JAN-82	   1300 		   		10
14 rows selected.
# set linesize和set pagesize用于设置查询结果
# 显示的行宽和每页的行数。
(8)使用下面的语句查询部门表dept的数据。
SQL> select * from dept;
# 输出结果如下:
    DEPTNO DNAME	  LOC
---------- -------------- -------------
	10 ACCOUNTING	  NEW YORK
	20 RESEARCH	  DALLAS
	30 SALES	  CHICAGO
	40 OPERATIONS	  BOSTON

二、 【实战】使用Enterprise Manager Database Express
Oracle Enterprise Manager Database Express,简称EM,它是一个基于Web界面的Oracle管理工具。通过使用该管理工具可以非常方便地监控与管理Oracle数据库。同时,该工具还提供了数据库优化顾问的功能。
| 视频讲解如下 | 
|---|
| 【赵渝强老师】Oracle企业管理器快捷版 | 
下面通过具体步骤来演示如何使用Oracle Enterprise Manager Database Express。
-  打开浏览器使用HTTPS协议,访问Oracle数据库宿主机的5500端口,例如:https://192.168.79.219:5500/em。如下图所示。 
  
-  输入用户名sys,密码为使用DBCA创建数据库时指定的密码。单击Log in。 
-  Oracle Enterprise Manager Database Express 的主界面如下图所示。 
  
-  单击“存储”下拉菜单中的“表空间”便可以监控数据库中表空间的状态。如下图所示。 
  
三、 【实战】使用Oracle SQL Developer
Oracle SQL Developer是Oracle官方出品的免费图形化开发工具,该工具基于Java语言开发。由于采用了图形化的界面,SQL Developer非常便于操作,并且输出结果美观。目前,SQL Developer最新版本是Version 21.4.3.063.0100。
| 视频讲解如下 | 
|---|
| 【赵渝强老师】使用Oracle SQL Developer | 
下面通过具体的步骤来演示如何使用Oracle SQL Developer。
-  登录Oracle官方网站下载SQL Developer(下载地址:https://www.oracle.com/tools/downloads/sqldev-downloads.html)。如下图所示。 
  
-  解压SQL Developer压缩包:sqldeveloper-21.4.3.063.0100-x64.zip 
-  双击sqldeveloper.exe文件启动该工具。如下图所示。 
  
-  SQL Developer的主界面如下图所示。 
  
-  单击左上角“连接”中的,添加一个新的数据库连接。 
-  在“新建/选择数据库连接”的界面上配置数据库的连接信息。如下图所示。 
  
-  单击“连接”登录Oracle数据库,并执行一个简单的查询语句。如下图所示。 
  
  
