創(chuàng)建新表。
注意:對于非微軟數(shù)據(jù)庫, Microsoft Jet數(shù)據(jù)庫引擎不支持 CREATE TABLE 或 DDL語句的使用。而使用 DAO創(chuàng)建方法。
CREATE [TEMPORARY] TABLE表 (字段1類型 [(字長)] [NOT NULL] [WITH COMPRESSION | WITH COMP] [索引1] [, 字段2類型 [(字長)] [NOT NULL] [索引2] [, ...]][, CONSTRAINT multifieldindex [, ...]])
CREATE TABLE 語句分為以下幾個部分:
部分 |
說明 |
table |
欲創(chuàng)建的表的名稱。 |
field1, field2 |
在新表中欲創(chuàng)建的字段的名稱。至少必須創(chuàng)建一個字段。 |
type |
在新表中的字段的數(shù)據(jù)類型。 |
size |
字段的字符長度 (文本及二進(jìn)制字段)。 |
index1, index2 |
子句定義多重字段索引的 CONSTRAINT 。欲了解有關(guān)如何建立此索引的更多信息,請看 CONSTRAINT 子句. |
multifieldindex |
子句定義多重字段索引的 CONSTRAINT 。欲了解有關(guān)如何建立此索引的更多信息,請看 CONSTRAINT 子句. |
使用 CREATE TABLE 語句來定義新表及它的字段以及字段條件。如果將一字段指定為 NOT NULL,則新記錄的該字段值必須是有效的數(shù)據(jù)。
CONSTRAINT 子句在字段上可創(chuàng)建不同的限制,并可用來建立主鍵。可以使用 CREATE INDEX 語句在當(dāng)前表上建立一個主鍵或附加索引。
可以在單一字段上使用 NOT NULL,或在用于單一字段或多重字段(名為 CONSTRAINT) 的 CONSTRAINT 子句中使用 NOT NULL。但是,一個字段只能使用一次 NOT NULL 限制。嘗試多次應(yīng)用此限制將導(dǎo)致運(yùn)行錯誤。
建立 TEMPORARY 表時, 只能在建表的會話期間看見它。會話期終止時它就被自動刪除。Temporary表能被不止一個用戶訪問。
WITH COMPRESSION 屬性只能和 CHARACTER及 MEMO (也被稱作 TEXT) 數(shù)據(jù)類型和它們的同義字一起使用。
WITH COMPRESSION 屬性被加入 CHARACTER列是因?yàn)閱未a字符表示格式的變化。Unicode字符一律需要兩個字節(jié)。對于現(xiàn)有的主要包含字符數(shù)據(jù)的 Microsoft Jet數(shù)據(jù)庫,這可能意味著數(shù)據(jù)庫文件被轉(zhuǎn)換成 Microsoft Jet 4.0格式時字長會增加將近一倍。然而,從前由單字節(jié)字符群(SBCS)指示的眾多字符群的Unicode 表示可以很容易地被壓縮成一個單字節(jié)。 如果你用這一屬性定義一個 CHARACTER 列,數(shù)據(jù)被儲存時會自動壓縮,從列中恢復(fù)時會自動解壓縮。
MEMO 列也能被定義用來把數(shù)據(jù)存儲成壓縮格式。然而有個局限。只有在壓縮時能達(dá)到最多4096字節(jié)的事例才可被壓縮。 所有其他事例則不會被壓縮。這就是說,在一個給定的表中,一個給定的MEMO列中有的數(shù)據(jù)會被壓縮,有的則不會。
CREATE TABLE 語句,CONSTRAINT 子句示例