1. 程式人生 > >建立資料表

建立資料表

SQL語句CREATE TABLE 用於建立資料表,其基本語法如下:


CREATE TABLE 表名

(

    欄位名1 欄位型別,

    欄位名2 欄位型別, 欄位名3 欄位型別, ……………… 約束定義 1, 約束定義 2, ……………… ) 

這裡的CREATE TABLE 語句告訴資料庫系統我們要建立一張資料表,CREATE TABLE語句後緊跟著表名,這個表名不能與資料庫中已有的表名重複。括號中是一條或者多條表定義,表定義包括欄位定義和約束定義兩種,一張表中至少要有一個欄位定義,而約束定義則是可選的。約束定義包括主鍵定義、外來鍵定義以及唯一約束定義等。下面用例子來演示這個語句的使用。

下面的SQL語句建立了一個用於儲存人員資訊的資料表:


CREATE TABLE T_Person

(

    FName VARCHAR(20), FAge INT ) 

注意:上邊的SQL在MYSQL、MSSQLServer 以及DB2下可以正常執行,不過由於各個主流資料庫系統中資料型別的差異,所以在其他資料庫中可能需要改寫。

下面是此SQL在Oracle下的寫法:


CREATE TABLE T_Person

(

    FName VARCHAR2(20),

    FAge NUMBER (10) ) 

可以看到這裡將人員資料表的名稱為T_Person,並且擁有兩個欄位,一個欄位為記錄姓名的欄位FName,另一個為記錄年齡的FAge。姓名為長度不確定的字串型別,因此這裡我們使用最大長度為20 的可變長度字串VS Studio的外掛開發來定義FName 欄位;年齡為整數,所以使用INT來定義FAge欄位。需要用逗號來分隔開每一個欄位的定義,我們這裡將每個欄位都在單獨一行中定義,這並不是強制要求的,我們可以將所有欄位定義在一

行中,如下:


CREATE TABLE T_Person(FName VARCHAR(20),FAge INT); 

這樣的SQL語句也是合法的,不過當欄位數量比較多的時候這樣寫就會顯得過於雜亂,因此推薦使用每行一個欄位定義的方式,這樣容易閱讀,而且出現錯誤的時候也容易除錯,因為很多資料庫系統都是根據行號來提示錯誤資訊的。

欄位定義只能限制一個欄位中所能填充的資料型別,對於“欄位值必須唯一、錄入的年齡必須介於18 到26歲之間、姓名不能為空”這樣的需求則無法滿足,這也就是約束定義的工作。