資料表由「列(欄位定義)」與「行(資料)」組成,建立表即定義欄位。除名稱與資料類型外,關鍵屬性如下:
NULL:允許插入時省略該欄位值NOT NULL:必須提供值(除非有 DEFAULT)SET ANSI_NULL_DFLT_ON / OFFsp_dboption 'dbname', 'ANSI null default', true/falseSEED (初始值) 與 INCREMENT (遞增值),預設皆為 1INT, SMALLINT, TINYINT, DECIMAL(p,0), NUMERIC(p,0)NULL 與 IDENTITY 屬性CREATE TABLE [database_name.[owner]. | owner.] table_name
(
{ column_definition | column_name AS computed_column_expression } [ ,...n ]
)
[ ON { filegroup | DEFAULT } ]
[ TEXTIMAGE_ON { filegroup | DEFAULT } ]
column_name data_type
[ DEFAULT constant_expression ]
| [ IDENTITY [ (seed, increment) ] [ NOT FOR REPLICATION ] ]
[ ROWGUIDCOL ]
[ COLLATE collation_name ]
[ column_constraint ] [ ...n ]
| 參數 | 說明 |
|---|---|
database_name | 指定資料庫,省略則使用目前資料庫 |
owner | 資料庫擁有者使用者名稱 |
DEFAULT | 欄位預設值(常數運算式) |
ROWGUIDCOL | 標記為全域唯一識別欄(僅限 uniqueidentifier 型別) |
COLLATE | 指定定序(排序/比較規則) |
ON filegroup | 指定資料儲存檔案群組 |
TEXTIMAGE_ON | 指定 TEXT/IMAGE 資料儲存檔案群組 |
NOT NULL 避免隱性 NULL 問題IDENTITY 簡化應用邏輯DEFAULT 減少應用層判斷