Microsoft Jet SQL for Access 2000添加、修改、删除字段

发布时间 : 星期三 文章Microsoft Jet SQL for Access 2000添加、修改、删除字段更新完毕开始阅读

同义字 存储容量 TEXT(文本)

TEXT, TEXT(n), CHAR, CHAR(n), ALPHANUMERIC, ALPHANUMERIC(n), STRING, STRING(n), VARCHAR, VARCHAR(n), NTEXT(n), NCHAR, NCHAR(n), CHAR VARYING, CHAR VARYING(n), CHARACTER VARYING, CHARACTER VARYING(n), NATIONAL CHAR, NATIONAL CHAR(n), NATIONAL CHARACTER, NATIONAL CHARACTER(n), NATIONAL CHAR VARYING, NATIONAL CHAR VARYING(n), NATIONAL CHARACTER VARYING, NATIONAL CHARACTER VARYING(n) 最多可以有255个字符,每个字符两个子节(如果不进行压缩)。 MEMO(备注)

LONGTEXT, LONGCHAR, 注意, NTEXT

65,535 个字符;如果非二进制数据可以有2.14 GB

下面的CREATE TABLE语句示范了可以用来通过Access SQL View用户界面创建表的TEXT 和MEMO的不同形式的同义词。

CREATE TABLE tblUITextDataTypes ( Field1_TEXT TEXT, Field2_TEXT25 TEXT(25), Field3_MEMO MEMO, Field4_CHAR CHAR, Field5_CHAR25 CHAR(25), Field6_LONGTEXT LONGTEXT, Field7_LONGCHAR LONGCHAR, Field8_ALPHA ALPHANUMERIC, Field9_ALPHA25 ALPHANUMERIC(25), Field10_STRING STRING, Field11_STRING25 STRING(25), Field12_VARCHAR VARCHAR, Field13_VARCHAR25 VARCHAR(25), Field14_NOTE NOTE)

如果用户通过Access的用户界面察看上面的tblUITextDataTypes表的设计的话,将会看到MEMO、 LONGTEXT、 LONGCHAR、和注意同义字都是MEMO 的数据类型,其他的所有同义字都是TEXT数据类型。对于那些没有定义长度的TEXT 数据类型,缺省的长度为255个字符。

虽说上面的SQL语句也可以通过Jet OLE DB provider和 ADO来执行,但还是有一些其他的TEXT 和MEMO 数据类型的不同定义只能通过Jet OLE DB provider 和ADO来执行。 CREATE TABLE tblCodeTextDataTypes Field1_NTEXT NTEXT, Field2_NTEXT25 NTEXT(25), Field3_NCHAR NCHAR, Field4_NCHAR NCHAR(25), Field5_VARYING CHAR VARYING, Field6_VARYING CHAR VARYING(25), Field7_VARYING CHARACTER VARYING,

Field8_VARYING CHARACTER VARYING(25), Field9_NATIONAL NATIONAL CHAR, Field10_NATIONAL NATIONAL CHAR(25), Field11_NATIONAL NATIONAL CHARACTER, Field12_NATIONAL NATIONAL CHARACTER(25), Field13_NATIONAL NATIONAL CHAR VARYING, Field14_NATIONAL NATIONAL CHAR VARYING(25), Field15_NATIONAL NATIONAL CHARACTER VARYING, Field16_NATIONAL NATIONAL CHARACTER VARYING(25))

如果用户通过Access的用户界面察看上面的tblUITextDataTypes表的设计的话,将会看到只有NCHAR数据类型是MEMO,其他的都是TEXT数据类型。对于那些没有定义长度的TEXT 数据类型,缺省的长度为255个字符。

注意: 在上面的SQL语句中列示的这些数据类型只能通过Jet OLE DB provider 和ADO来执行,在Access SQL View的用户界面中使用将导致错误信息。还要注意如果通过Jet OLE DB provider和 ADO创建了一个TEXT数据类型的域,则通过Access用户界面看到的将是MEMO的数据类型。 Unicode压缩

现在在Microsoft Jet 4.0 数据引擎中,所有的TEXT数据类型都是以两个字节的统一编码形式存储的。它取代了前面版本中采用的多字节字符集(Multi-byte Character Set ,MBCS)格式。虽然双字节的格式需要更多的空间来存储每个字符,但可以定义使用TEXT数据类型的自动进行压缩。

在用户使用SQL建立的TEXT的数据类型时,双字节编码的压缩属性缺省设置为NO,如果需要将该属性设置为Yes,用户可以在定义域的时候使用WITHCOMPRESSION (或者 WITH COMP)关键字。 下面的CREATE TABLE 语句将创建一个新的顾客表,这里将双字节编码的压缩属性设置为Yes。 CREATE TABLE tblCompressedCustomers ( CustomerID INTEGER CONSTRAINT PK_tblCompCustomers PRIMARY KEY,

[Last Name] TEXT(50) WITH COMP NOT NULL,

[First Name] TEXT(50) WITH COMPRESSION NOT NULL, Phone TEXT(10), Email TEXT(50),

Address TEXT(40) DEFAULT Unknown)

注意WITH COMPRESSION 和WITH COMP关键字要在NOT NULL之前定义。用户也可以使用ALTER TABLE语句改变现存域的双字节编码的压缩属性,如下所示: ALTER TABLE tblCustomers

ALTER COLUMN [Last Name] TEXT(50) WITH COMPRESSION

注意: 在上面的SQL语句中列示的WITH COMPRESSION and WITH COMP关键字只能通过Jet OLE DB provider 和ADO来执行,在Access SQL View的用户界面中使用将导致错误信息。 在用户设计数据表时采取那种数据类型取决于用户的应用程序的目的。如果该应用程序总是应用在Jet数据库的基础上,则应该使用最适宜的那些数据类型。但如果该应用程序最终要用到ODBC-compliant的数据库上,比如SQL Server 或 MSDE,则要使用那些是一致最方便的数据类型。

数字( NUMERIC)数据类型

数字(NUMERIC)数据类型是用来定义存储计算用数字的域的。通常,将某种NUMERIC类型与其他的区别开来的是用来存储数据的字节数,它也影响着所存储数字的精度。许多Jet SQL 的数据类型豆油协同义字可以用来进行定义,到底使用哪一个取决于该数据表是仅在某个Jet数据库中还是将移植到诸如Microsoft SQL Server的数据库服务器中。如果将进行移植,用户应选择那些使得移植最容易进行的数据类型。

下面的表格列示了基本的Jet NUMERIC数据类型,它的各种同义字以及为期分配的字节数。 Jet 数据类型 同义字 存储大小 TINYINT INTEGER1, BYTE 1 byte SMALLINT SHORT, INTEGER2 2 bytes INTEGER

LONG, INT, INTEGER4 4 bytes REAL

SINGLE, FLOAT4, IEEESINGLE 4 bytes FLOAT

DOUBLE, FLOAT8, IEEEDOUBLE, NUMBER 8 bytes DECIMAL NUMERIC, DEC 17 bytes

下面的CREATE TABLE 语句示范了各种可以在通过Access SQL View 的用户界面创建表时使用的SNUMERIC 数据类型。

CREATE TABLE tblUINumericDataTypes ( Field1_INT INT,

Field2_INTEGER INTEGER, Field3_LONG LONG, Field4_INTEGER1 INTEGER1, Field5_BYTE BYTE,

Field6_NUMERIC NUMERIC, Field7_REAL REAL, Field8_SINGLE SINGLE, Field9_FLOAT FLOAT, Field10_FLOAT4 FLOAT4, Field11_FLOAT8 FLOAT8, Field12_DOUBLE DOUBLE,

Field13_IEEESINGLE IEEESINGLE, Field14_IEEEDOUBLE IEEEDOUBLE, Field15_NUMBER NUMBER, Field16_SMALLINT SMALLINT, Field17_SHORT SHORT, Field18_INTEGER2 INTEGER2, Field19_INTEGER4 INTEGER4)

虽然上面的SQL 语句也可以通过Jet OLE DB provider 和ADO来执行,仍有一些其他的NUMERIC 数据类型的形式只能通过Jet OLE DB provider 和 ADO来执行。 CREATE TABLE tblCodeNumericDataTypes ( Field1_TINYINT TINYINT, Field2_DECIMAL DECIMAL, Field3_DEC DECIMAL,

Field4_DPRECISION DOUBLE PRECISION)

注意: 上面的SQL 语句中的数据类型只能通过Jet OLE DB provider 和 ADO来执行,在Access SQL View的用户界面中使用将导致错误信息。还要注意如果通过Access SQL View 建立了一个NUMERIC 数据类型的域,通过Access 用户界面察看表的设计时看到的将是DOUBLE 数据类型,但是如果通过Jet OLE DB provider 和 ADO建立NUMERIC数据类型,通过Access 用户界面看到的将是DECIMAL数据类型.

使用新的DECIMAL 数据类型,用户可以设定数值的精度和小数位。精度就是该域所能包含的数字的总数,而小数位则决定了小数点右面能有几位数字,精度缺省值是18,最大的允许值28,而小数位缺省的是0,最大值时28。

CREATE TABLE tblDecimalDataTypes ( DefaultType DECIMAL, SpecificType DECIMAL(10,5))

货币(CURRENCY)数据类型

货币(CURRENCY)数据类型是用来存储15位整数和4位小数的数字值的,它使用8个字节的存储量,其唯一的同义字是MONEY。

下面的CREATE TABLE 语句示范了CURRENCY 数据类型在创建数据表时的用法,它既可以在Access SQL View 用户界面中也可以在Jet OLE DB provider 和 ADO中使用。 CREATE TABLE tblCurrencyDataTypes ( Field1_CURRENCY CURRENCY, Field2_MONEY MONEY)

是否(BOOLEAN )数据类型

是否(BOOLEAN)是逻辑数据类型,其值为是(TRUE)或否(FALSE)。它们使用一个字节的存储量,同义字有BIT、 LOGICAL、 LOGICAL1 和 YESNO。 True的值等于–1, False的值等于0。

下面的CREATE TABLE 语句示范了通过Jet OLE DB provider 和 ADO 来创建BOOLEAN 数据类型的不同形式。

CREATE TABLE tblUIBooleandataTypes ( Field1_BIT BIT,

联系合同范文客服:xxxxx#qq.com(#替换为@)