- Oracle數據庫編程經典300例
- 肖俊宇編著
- 905字
- 2018-12-30 10:29:42
實例016 使用CREATE TABLE命令創建基本表
【實例描述】
基本表是數據庫的重要組成部分,是許多諸如視圖、索引等數據對象的數據來源。一個數據庫中可以有多張基本表,在使用基本表前需要先創建該表。創建基本表主要是指對一個基本表的結構定義,也即對創建一個基本表所需要的元素作定義,本實例介紹了基本表的創建及其數據類型、長度等的設置。
在本實例中,創建了一個學生表STU,它包含SNO、SNAME、SGENTLE、SAGE、SBIRTH和SDEPT 6個字段(列),其中SNO為學生學號,其數據類型為字符型,長度為10;SNAME為學生姓名,其數據類型為字符型,長度為10;SGENTLE為學生性別,其數據類型為字符型,長度為2;SAGE為學生年齡,其數據類型為數值型;SBIRTH為學生出生年月,其數據類型為日期時間型;SDEPT為學生所屬系部,其數據類型為字符型,長度為20。創建完成后,STU的表結構如圖2-1所示。

圖2-1 基本表的結構
【實現代碼】
以system/oracle普通連接到Oracle SQL*Plus后,在“SQL>”字符串后輸入如下所示的PL/SQL代碼。
SQL> CREATE TABLE STU ( 2 SNO VARCHAR2 (10) NOT NULL, 3 SNAME VARCHAR2 (10), 4 SGENTLE VARCHAR2 (2), 5 SAGE NUMBER(2), 6 SBIRTH DATE , 7 SDEPT VARCHAR2 (20) ) 8 /
【范例解析】
本實例使用命令形式創建一個基本表,該表的名稱為STU,包含6 個字段(列)。Oracle PL/SQL中要創建一個基本表,需使用CREATE TABLE命令實現,CREATE TABLE命令包含一系列的參數,其常用形式為:
CREATE TABLE〈表名〉 (〈字段名1〉〈類型〉[(〈字段寬度〉[,〈小數位數〉])][NOT NULL], (〈字段名2〉〈類型〉[(〈字段寬度〉[,〈小數位數〉])] [NOT NULL], …… (〈字段名n〉〈類型〉[(〈字段寬度〉[,〈小數位數〉])] [NOT NULL]
其中,表名和字段名由用戶自己確定,類型是指列(字段)的數據類型,Oracle支持的列數據類型較多,其主要類型見表2-1所示。
表2-1 Oracle支持的主要數據類型

字段寬度是指字符數據類型的長度,或數值型數據類型的精度,而對于DATE、CLOB等數據類型來說無須指明其長度,Oracle系統將自動設定。在SQL*Plus中用上述CREATE TABLE命令格式執行創建基本表,即能完成表的創建操作,如圖2-2所示。

圖2-2 創建基本表
創建基本表完成后,讀者可在SQL*Plus工具下通過“DESC+表名”命令查看基本表的結構,即可得到圖2-1所示的表結構圖。
注意:同一個創建基本表的命令在查詢分析器中只能成功執行一次。一旦成功執行了,就不能再執行了,否則會出現圖2-3所示的錯誤提示。這是因為在一個關系數據庫中,不允許存在重名的基本表。

圖2-3 重復創建基本表錯誤