CREATE TABLE 语句

创建新表。


注意:对于非微软数据库, 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列中有的数据会被压缩,有的则不会。

请参阅
ADD USER 语句 CREATE USER 或 GROUP 语句
ALTER USER 或 DATABASE 语句 CREATE VIEW 语句
ALTER TABLE 语句 DROP 语句
CONSTRAINT 子句 DROP USER 或 GROUP 语句
CREATE INDEX 语句 GRANT 语句
CREATE PROCEDURE 语句 REVOKE 语句

示例

CREATE TABLE 语句,CONSTRAINT 子句示例