在本章教程中,将教大家如何在Oracle 中创建导入数据库。
注意:本教程中的有些命令您可能并不熟悉,但没关系,只需按照说明一步一步创建示例数据库即可。在之后的教程中,会详细介绍每个命令。
首先,启动SQL plus 程序的命令行:
sqlplus
如下所示:
或者从开始菜单的安装目录打开 SQL Plus:
当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