创建新表。
注意:对于非微软数据库, Microsoft Jet数据库引擎不支持 CREATE TABLE 或 DDL语句的使用。而使用 DAO创建方法。
CREATE [TEMPORARY] TABLE表 (字段1类型 [(字长)] [NOT NULL] [WITH COMPRESSION | WITH COMP] [索引1] [, 字段2类型 [(字长)] [NOT NULL] [索引2] [, ...]][, CONSTRAINT multifieldindex [, ...]])
CREATE TABLE 语句分为以下几个部分:
部分 |
说明 |
table |
欲创建的表的名称。 |
field1, field2 |
在新表中欲创建的字段的名称。至少必须创建一个字段。 |
type |
在新表中的字段的数据类型。 |
size |
字段的字符长度 (文本及二进制字段)。 |
index1, index2 |
子句定义多重字段索引的 CONSTRAINT 。欲了解有关如何建立此索引的更多信息,请看 CONSTRAINT 子句. |
multifieldindex |
子句定义多重字段索引的 CONSTRAINT 。欲了解有关如何建立此索引的更多信息,请看 CONSTRAINT 子句. |
使用 CREATE TABLE 语句来定义新表及它的字段以及字段条件。如果将一字段指定为 NOT NULL,则新记录的该字段值必须是有效的数据。
CONSTRAINT 子句在字段上可创建不同的限制,并可用来建立主键。可以使用 CREATE INDEX 语句在当前表上建立一个主键或附加索引。
可以在单一字段上使用 NOT NULL,或在用于单一字段或多重字段(名为 CONSTRAINT) 的 CONSTRAINT 子句中使用 NOT NULL。但是,一个字段只能使用一次 NOT NULL 限制。尝试多次应用此限制将导致运行错误。
建立 TEMPORARY 表时, 只能在建表的会话期间看见它。会话期终止时它就被自动删除。Temporary表能被不止一个用户访问。
WITH COMPRESSION 属性只能和 CHARACTER及 MEMO (也被称作 TEXT) 数据类型和它们的同义字一起使用。
WITH COMPRESSION 属性被加入 CHARACTER列是因为单码字符表示格式的变化。Unicode字符一律需要两个字节。对于现有的主要包含字符数据的 Microsoft Jet数据库,这可能意味着数据库文件被转换成 Microsoft Jet 4.0格式时字长会增加将近一倍。然而,从前由单字节字符群(SBCS)指示的众多字符群的Unicode 表示可以很容易地被压缩成一个单字节。 如果你用这一属性定义一个 CHARACTER 列,数据被储存时会自动压缩,从列中恢复时会自动解压缩。
MEMO 列也能被定义用来把数据存储成压缩格式。然而有个局限。只有在压缩时能达到最多4096字节的事例才可被压缩。 所有其他事例则不会被压缩。这就是说,在一个给定的表中,一个给定的MEMO列中有的数据会被压缩,有的则不会。
CREATE TABLE 语句,CONSTRAINT 子句示例