Oracle 数据库创建导入


在本章教程中,将教大家如何在Oracle 中创建导入数据库。

注意:本教程中的有些命令您可能并不熟悉,但没关系,只需按照说明一步一步创建示例数据库即可。在之后的教程中,会详细介绍每个命令。

创建新用户并授予权限

首先,启动SQL plus 程序的命令行:

sqlplus

如下所示:

1

或者从开始菜单的安装目录打开 SQL Plus:

2

当SQL Plus 启动后,它会提示您输入用户名和密码。继续使用在安装Oracle数据库服务器期间输入的密码以sys用户身份登录:

C:\Users\Administrator>sqlplus

SQL*Plus: Release 11.2.0.1.0 Production on 星期五 11月 10 04:32:17 2017
Copyright (c) 1982, 2010, Oracle.  All rights reserved.

请输入用户名:  sys as sysdba
输入口令:

然后,使用以下CREATE USER语句创建一个新用户:ot,用于在可插入数据库中创建示例数据库:

SQL> CREATE USER OT IDENTIFIED BY Orcl1234;

User created.

上面的语句创建了一个名为:OT 的新用户,并在IDENTIFIED BY子句之后指定了一个密码,在这个示例中,创建的用户:OT 对应的密码为:Orcl1234 。

之后,通过使用以下GRANT语句授予OT用户权限:

SQL> GRANT CONNECT, RESOURCE, DBA TO OT;

Grant succeeded.

登录新账号

使用OT用户帐户连接到数据库(ORCL)。 当SQL Plus 提示输入用户名和密码时,输入:OT和Orcl1234。

对于Oracle 11g/12c,使用如下命令:

SQL> CONNECT ot@orcl
输入口令:
已连接。

注意,OT用户仅存在于ORCL数据库中,因此,必须在CONNECT命令中明确指定用户名为ot@orcl。

创建数据库表

要为示例数据库创建表,需要从SQL plus执行ot_schema.sql文件中的语句,

在SQL plus的文件中执行SQL语句,可以使用下面的命令(语法):

SQL> @path_to_sql_file

假设ot_schema.sql 文件位于F:\website\oraok\ot目录中,则执行下面的语句 :

SQL>@F:\website\oraok\ot\11g\ot_schema.sql

当执行语句完成后,可以通过列出OT用户拥有的表来验证表是否成功创建。以下是这样做的声明:

SQL> SELECT table_name FROM user_tables ORDER BY Table_name;

TABLE_NAME
------------------------------
CONTACTS
COUNTRIES
CUSTOMERS
EMPLOYEES
INVENTORIES
LOCATIONS
ORDERS
ORDER_ITEMS
PRODUCTS
PRODUCT_CATEGORIES
REGIONS

TABLE_NAME
------------------------------
WAREHOUSES

已选择12行。

SQL>

在这个语句中,我们从user_tables表中选择了table_name列中的值,并按字母顺序排列了表名。如上结果中所见,有12个表名按预期方式返回。

接下来,我们可以将数据加载/导入到这些表中。

将数据加载到表中

要将数据加载到表中,请按如下所示执行ot_data.sql 文件中的语句:

SQL>@F:\website\oraok\ot\11g\ot_data.sql

如果没有看到任何错误消息,则意味着数据已成功加载导入。

还可以使用SELECT语句验证数据是否已成功加载导入。 例如,要获取contacts表中的行数,请使用以下语句:

SQL> SELECT COUNT(*) FROM contacts;

  COUNT(*)
----------
       319

SQL> SELECT COUNT(*) FROM countries;

  COUNT(*)
----------
        25

SQL> SELECT COUNT(*) FROM customers;

  COUNT(*)
----------
       319

SQL> SELECT COUNT(*) FROM employees;

  COUNT(*)
----------
       107

SQL> SELECT COUNT(*) FROM inventories;

  COUNT(*)
----------
      1112

SQL> SELECT COUNT(*) FROM locations;

  COUNT(*)
----------
        23

SQL> SELECT COUNT(*) FROM orders;

  COUNT(*)
----------
       105

SQL> SELECT COUNT(*) FROM order_items;

  COUNT(*)
----------
       665

SQL> SELECT COUNT(*) FROM product_categories;

  COUNT(*)
----------
         5

SQL> SELECT COUNT(*) FROM products;

  COUNT(*)
----------
       288

SQL> SELECT COUNT(*) FROM regions;

  COUNT(*)
----------
         4

SQL> SELECT COUNT(*) FROM warehouses;

  COUNT(*)
----------
         9

查询返回319表示contacts表有319行。通过用另一个表替换表名(联系人),可以检查所有表中的数据。如果这是您第一次使用数据库系统,这对您来说是一个很好的练习。

要删除上面模式中的表,请执行:

SQL>@F:\website\oraok\ot\11g\ot_drop.sql