在本章教程中,將教大家如何在 Oracle 中創(chuàng)建導(dǎo)入數(shù)據(jù)庫。
注意:本教程中的有些命令您可能并不熟悉,但沒關(guān)系,只需按照說明一步一步創(chuàng)建示例數(shù)據(jù)庫即可。在之后的教程中,會詳細(xì)介紹每個命令。
1.1.打開
首先,啟動 SQL plus 程序的命令行:
sqlplus
如下所示:
或者從開始菜單的安裝目錄打開 SQL Plus:
1.2.登錄
當(dāng) SQL Plus 啟動后,它會提示您輸入用戶名和密碼。繼續(xù)使用在安裝 Oracle 數(shù)據(jù)庫服務(wù)器期間輸入的密碼以 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
輸入口令:
1.3.創(chuàng)建新用戶
使用以下 CREATE USER 語句創(chuàng)建一個新用戶:ot,用于在可插入數(shù)據(jù)庫中創(chuàng)建示例
ot 可為任意名字
數(shù)據(jù)庫:
SQL> CREATE USER OT IDENTIFIED BY Orcl1234;
User created.
上面的語句創(chuàng)建了一個名為:OT 的新用戶,并在 IDENTIFIED BY 子句之后指定了一個密碼,在這個示例中,創(chuàng)建的用戶:OT 對應(yīng)的密碼為:Orcl1234 。
1.4.授權(quán)
通過使用以下 GRANT 語句授予 OT 用戶權(quán)限:
SQL> GRANT CONNECT, RESOURCE, DBA TO OT;
Grant succeeded.
使用OT用戶帳戶連接到數(shù)據(jù)庫(ORCL)。 當(dāng) SQL Plus 提示輸入密碼時,輸入:Orcl1234。
對于 Oracle 11g/12c,使用如下命令:
docker 中只需執(zhí)行 CONNECT ot
SQL> CONNECT ot@orcl
輸入口令:
已連接。
注意,OT 用戶僅存在于 ORCL 數(shù)據(jù)庫中,因此,必須在 CONNECT 命令中明確指定用戶名為 ot@orcl。
要為示例數(shù)據(jù)庫創(chuàng)建表,需要從 SQL plus 執(zhí)行 ot_schema.sql 文件中的語句,
演示數(shù)據(jù)庫文件下載地址:https://github.com/ensa-tetouan/ressources-tp-plsql
我們?yōu)槟峁┮粋€名為 OT 的Oracle示例數(shù)據(jù)庫,它基于全球虛擬公司,銷售計算機硬件,包括存儲,主板,RAM,視頻卡和CPU。
公司保存產(chǎn)品信息,如:名稱,描述標(biāo)準(zhǔn)成本,標(biāo)價,產(chǎn)品線。它還跟蹤所有產(chǎn)品的庫存信息,包括產(chǎn)品可用的倉庫。由于該公司在全球運營,因此在世界各地?fù)碛袀}庫。
公司記錄所有客戶信息,包括姓名,地址和網(wǎng)站。 每個客戶至少有一個聯(lián)系人,包括姓名,電子郵件和電話等詳細(xì)信息。公司還對每位客戶設(shè)置了信用限額,以限制客戶可能欠的金額。
只要客戶發(fā)出采購訂單,就會在數(shù)據(jù)庫中創(chuàng)建具有待處理狀態(tài)的銷售訂單。當(dāng)公司運送訂單時,訂單狀態(tài)變成 - 運送。如果客戶取消訂單,則訂單狀態(tài)將被 - 取消。
除銷售信息外,員工數(shù)據(jù)還記錄了一些基本信息,如姓名,電子郵件,電話,職位,經(jīng)理和雇用日期。
在 SQL plus 的文件中執(zhí)行 SQL 語句,可以使用下面的命令(語法):
SQL> @path_to_sql_file
假設(shè) ot_schema.sql 文件位于 F:\website\oraok\ot 目錄中,則執(zhí)行下面的語句 :
SQL>@F:\website\oraok\ot\11g\ot_schema.sql
當(dāng)執(zhí)行語句完成后,可以通過列出 OT 用戶擁有的表來驗證表是否成功創(chuàng)建。以下是這樣做的聲明:
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 列中的值,并按字母順序排列了表名。如上結(jié)果中所見,有12個表名按預(yù)期方式返回。
接下來,我們可以將數(shù)據(jù)加載/導(dǎo)入到這些表中。
要將數(shù)據(jù)加載到表中,請按如下所示執(zhí)行 ot_data.sql 文件中的語句:
SQL>@F:\website\oraok\ot\11g\ot_data.sql
如果沒有看到任何錯誤消息,則意味著數(shù)據(jù)已成功加載導(dǎo)入。
還可以使用 SELECT 語句驗證數(shù)據(jù)是否已成功加載導(dǎo)入。 例如,要獲取 contacts 表中的行數(shù),請使用以下語句:
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行。通過用另一個表替換表名(聯(lián)系人),可以檢查所有表中的數(shù)據(jù)。如果這是您第一次使用數(shù)據(jù)庫系統(tǒng),這對您來說是一個很好的練習(xí)。
要刪除上面模式中的表,請執(zhí)行:
SQL>@F:\website\oraok\ot\11g\ot_drop.sql
更多建議: