头图

安装并成功创建Oracle数据库后,便可以使用客户端工具来连接Oracle数据库。Oracle官方提供的客户端工具有:SQL*Plus、Oracle Enterprise Manager Database Express和SQL Developer。

一、 【实战】使用命令行工具SQL*Plus

在Oracle数据库系统中,用户对数据库的操作主要是通过SQLPlus来完成的。 SQLPlus作为Oracle数据库的客户端命令行工具,既可以建立位于数据库服务器上的数据库连接,也可以建立位于网络中的数据库连接。通过下面的Linux命令可以查看SQL*Plus的帮助信息。

sqlplus -h

视频讲解如下:
https://www.bilibili.com/video/BV14jSmYGES2/?aid=113418325659...

下面通过具体步骤来演示SQL*Plus基本用法。
(1)执行Linux命令使用SQL*Plus登录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数据库。同时,该工具还提供了数据库优化顾问的功能。

视频讲解如下:
https://www.bilibili.com/video/BV1SiDwY9EfR/?aid=113411060994...

下面通过具体步骤来演示如何使用Oracle Enterprise Manager Database Express。

  1. 打开浏览器使用HTTPS协议,访问Oracle数据库宿主机的5500端口,例如:https://192.168.79.219:5500/em。如下图所示。

image.png

  1. 输入用户名sys,密码为使用DBCA创建数据库时指定的密码。单击Log in。
  2. Oracle Enterprise Manager Database Express 的主界面如下图所示。

image.png

  1. 单击“存储”下拉菜单中的“表空间”便可以监控数据库中表空间的状态。如下图所示。

image.png

三、 【实战】使用Oracle SQL Developer

Oracle SQL Developer是Oracle官方出品的免费图形化开发工具,该工具基于Java语言开发。由于采用了图形化的界面,SQL Developer非常便于操作,并且输出结果美观。目前,SQL Developer最新版本是Version 21.4.3.063.0100。

视频讲解如下:
https://www.bilibili.com/video/BV17y41187Hd/?aid=1955539279&c...

下面通过具体的步骤来演示如何使用Oracle SQL Developer。

  1. 登录Oracle官方网站下载SQL Developer(下载地址:https://www.oracle.com/tools/downloads/sqldev-downloads.html)。如下图所示。

image.png

  1. 解压SQL Developer压缩包:sqldeveloper-21.4.3.063.0100-x64.zip
  2. 双击sqldeveloper.exe文件启动该工具。如下图所示。

image.png

  1. SQL Developer的主界面如下图所示。

image.png

  1. 单击左上角“连接”中的,添加一个新的数据库连接。
  2. 在“新建/选择数据库连接”的界面上配置数据库的连接信息。如下图所示。

image.png

  1. 单击“连接”登录Oracle数据库,并执行一个简单的查询语句。如下图所示。

image.png


赵渝强老师
36 声望15 粉丝

20年以上的IT行业从业经历,清华大学计算机软件工程专业毕业,京东大学大数据学院院长,Oracle中国有限公司高级技术顾问;曾在BEA、甲骨文、摩托罗拉等世界500强公司担任高级软件架构师或咨询顾问等要职,精通大...