📄 access 2000中级篇_语法参考.htm
字号:
<p>DECIMAL <br>
NUMERIC, DEC <br>
17 bytes <br>
</p>
<p>下面的CREATE TABLE 语句示范了各种可以在通过Access SQL View 的用户界面创建表时使用的SNUMERIC 数据类型。 </p>
<p>CREATE TABLE tblUINumericDataTypes ( <br>
Field1_INT INT, <br>
Field2_INTEGER INTEGER, <br>
Field3_LONG LONG, <br>
Field4_INTEGER1 INTEGER1, <br>
Field5_BYTE BYTE, <br>
Field6_NUMERIC NUMERIC, <br>
Field7_REAL REAL, <br>
Field8_SINGLE SINGLE, <br>
Field9_FLOAT FLOAT, <br>
Field10_FLOAT4 FLOAT4, <br>
Field11_FLOAT8 FLOAT8, <br>
Field12_DOUBLE DOUBLE, <br>
Field13_IEEESINGLE IEEESINGLE, <br>
Field14_IEEEDOUBLE IEEEDOUBLE, <br>
Field15_NUMBER NUMBER, <br>
Field16_SMALLINT SMALLINT, <br>
Field17_SHORT SHORT, <br>
Field18_INTEGER2 INTEGER2, <br>
Field19_INTEGER4 INTEGER4) <br>
</p>
<p>虽然上面的SQL 语句也可以通过Jet OLE DB provider 和ADO来执行,仍有一些其他的NUMERIC 数据类型的形式只能通过Jet OLE DB provider 和 ADO来执行。 </p>
<p>CREATE TABLE tblCodeNumericDataTypes ( <br>
Field1_TINYINT TINYINT, <br>
Field2_DECIMAL DECIMAL, <br>
Field3_DEC DECIMAL, <br>
Field4_DPRECISION DOUBLE PRECISION) <br>
</p>
<p>注意: 上面的SQL 语句中的数据类型只能通过Jet OLE DB provider 和 ADO来执行,在Access SQL View的用户界面中使用将导致错误信息。还要注意如果通过Access SQL View 建立了一个NUMERIC 数据类型的域,通过Access 用户界面察看表的设计时看到的将是DOUBLE 数据类型,但是如果通过Jet OLE DB provider 和 ADO建立NUMERIC数据类型,通过Access 用户界面看到的将是DECIMAL数据类型. </p>
<p>使用新的DECIMAL 数据类型,用户可以设定数值的精度和小数位。精度就是该域所能包含的数字的总数,而小数位则决定了小数点右面能有几位数字,精度缺省值是18,最大的允许值28,而小数位缺省的是0,最大值时28。 </p>
<p>CREATE TABLE tblDecimalDataTypes ( <br>
DefaultType DECIMAL, <br>
SpecificType DECIMAL(10,5)) <br>
</p>
<p>货币(CURRENCY)数据类型 <br>
货币(CURRENCY)数据类型是用来存储15位整数和4位小数的数字值的,它使用8个字节的存储量,其唯一的同义字是MONEY。 </p>
<p>下面的CREATE TABLE 语句示范了CURRENCY 数据类型在创建数据表时的用法,它既可以在Access SQL View 用户界面中也可以在Jet OLE DB provider 和 ADO中使用。 </p>
<p>CREATE TABLE tblCurrencyDataTypes ( <br>
Field1_CURRENCY CURRENCY, <br>
Field2_MONEY MONEY) <br>
</p>
<p>是否(BOOLEAN )数据类型 </p>
<p>是否(BOOLEAN)是逻辑数据类型,其值为是(TRUE)或否(FALSE)。它们使用一个字节的存储量,同义字有BIT、 LOGICAL、 LOGICAL1 和 YESNO。 True的值等于–1, False的值等于0。 </p>
<p>下面的CREATE TABLE 语句示范了通过Jet OLE DB provider 和 ADO 来创建BOOLEAN 数据类型的不同形式。 </p>
<p>CREATE TABLE tblUIBooleandataTypes ( <br>
Field1_BIT BIT, <br>
Field2_LOGICAL LOGICAL, <br>
Field3_LOGICAL1 LOGICAL1, <br>
Field4_YESNO YESNO) <br>
</p>
<p>字节(BINARY )数据类型 </p>
<p>字节(BINARY )数据类型以二进制的本来面目存储小容量的任何类型的数据。它对于所存储的每个字符只使用1个字节的存储量,用户可以指定所分配的字节数。如果没有制定字节数,缺省的值是510,这也是所能允许的最大字节数。它的同义字有BINARY、 VARBINARY和 BINARY VARYING。BINARY 数据类型在Access 用户界面中是不可用的。 </p>
<p>下面的 CREATE TABLE 语句示范了可以用来在Access SQL View 用户界面中使用的BINARY 数据类型的不同形式。 </p>
<p>CREATE TABLE tblUIBinaryDataTypes ( <br>
Field1_BINARY BINARY, <br>
Field2_BINARY250 BINARY(250), <br>
Field3_VARBINARY VARBINARY, <br>
Field4_VARBINARY250 VARBINARY(250)) <br>
</p>
<p>虽然上面的SQL语句也可以通过Jet OLE DB provider 和 ADO执行,但仍然有些其他的binary 数据类型的同义字只能通过Jet OLE DB provider 和 ADO来执行,如下所示: </p>
<p>CREATE TABLE tblCodeBinaryDataTypes ( <br>
Field1_BVARYING BINARY VARYING, <br>
Field2_BVARYING250 BINARY VARYING(250)) </p>
<p>OLEOBJECT 数据类型 <br>
OLEOBJECT 数据类型用来存储大的二进制对象,比如Word文档或者Excel表单。它的字节数并不确定,最大可达2.14 GB。其同义字有:IMAGE、LONGBINARY、GENERAL 和 OLEOBJECT </p>
<p>下面的 CREATE TABLE 语句展示了通过Access SQL View 用户界面或Jet OLE DB provider和ADO 来创建表时使用OLEOBJECT 数据类型。 </p>
<p>CREATE TABLE tblImageDataTypes ( <br>
Field1_IMAGE IMAGE, <br>
Field2_LONGBINARY LONGBINARY, <br>
Field3_GENERAL GENERAL, <br>
Field4_OLEOBJECT OLEOBJECT) <br>
</p>
<p>日期时间(DATETIME)数据类型 </p>
<p>日期时间(DATETIME)数据类型用来存储日期、时间以及日期和时间的结合值,年数可以从100到 9999。它使用8个字节的存储量,其同义字有DATE、TIME、DATETIME和 TIMESTAMP </p>
<p>下面的 CREATE TABLE 语句展示了通过Access SQL View 用户界面或Jet OLE DB provider 和 ADO 创建表示所使用的DATETIME 数据类型的不同形式。 </p>
<p>CREATE TABLE tblDateTimeDataTypes ( <br>
Field1_DATE DATE, <br>
Field2_TIME TIME, <br>
Field3_DATETIME DATETIME, <br>
Field4_TIMESTAMP TIMESTAMP) <br>
</p>
<p>COUNTER 数据类型 </p>
<p>COUNTER 数据类型用来存储长整型数值,该数值在表中每增加一条新的纪录时能够自动增加。使用COUNTER 数据类型,用户可以设定一个种子值和增加值,种子值是当第一个记录插入到表中时将输入到域中的数值,而增加值用来加到上一个记数值上作为下一个记数值。如果没有指定种子值和增加值,它们都将缺省的使用1。在一个表中只能有一个COUNTER域。其同义字有 COUNTER、AUTOINCREMENT和IDENTITY。 </p>
<p>下面的 CREATE TABLE 语句展示了通过Access SQL View 用户界面创建表时使用的COUNTER 数据类型的同义字。 </p>
<p>CREATE TABLE tblUICounterDataTypes ( <br>
Field1 COUNTER, <br>
Field2 TEXT(10)) <br>
</p>
<p>注意这里没有指定种子值和增加值,所有都将采用缺省值1。定义COUNTER 数据类型的另一种方式是使用AUTOINCREMENT 关键字,如下所示: </p>
<p>CREATE TABLE tblUICounterDataTypes ( <br>
Field1 AUTOINCREMENT(10,5), <br>
Field2 TEXT(10)) <br>
</p>
<p>这一次种子值和增加值都指定了,则开始值时10,每次将加5。上面的SQL 语句也可以通过Jet OLE DB provider 和 ADO执行,另外还有counter 数据类型的另一种形式,只能通过Jet OLE DB provider 和 ADO来执行,即IDENTITY 关键字,它和SQL Server的 IDENTITY 数据类型是相兼容的。 </p>
<p>CREATE TABLE tblCodeCounterDataTypes <br>
Field1_IDENTITY IDENTITY(10,5), <br>
Field2 TEXT(10)) <br>
</p>
<p>这里的种子值和增加值都可以通过ALTER TABLE 语句进行修改,修改后所有新插入的行将使用新的值。但是, COUNTER 数据类型常常都是用于主键的,而主键要求每列唯一。如果你改变了种子值, 将可能导致主键域的重复值,从而发生错误。 </p>
<p>ALTER TABLE tblUICounterDataTypes <br>
ALTER COLUMN Field1 COUNTER(10,10) <br>
注意: 如果某个现存的列已经包含了数据的话,用户不能使用ALTER TABLE 语句来将该列的数据类型改变为COUNTER 数据类型。 </p>
<p>在以前版本的Jet数据库中,压缩数据库之后,种子值将被置为可能的最大值。在Jet 4.0中仍然如此,只要种子值和增加值的采用的是缺省值1的话。如果用户指定了不等于缺省值的种子值和增加值,在压缩数据库是并不会重置种子值。 </p>
<p>@@IDENTITY 变量 </p>
<p>@@IDENTITY 变量是一个全局的SQL变量,用户可以用它来提取使用COUNTER数据类型的列的最后使用值。用户在提取@@IDENTITY 变量时,不能指定表的名称。返回值总是最近的通过代码插入了数据的表的COUNTER域。 </p>
<p>SELECT @@IDENTITY <br>
要给@@IDENTITY 值加上某个值,要将该变量用方括号括起来。 </p>
<p>SELECT [@@IDENTITY] + 1 <br>
注意 上面SQL 语句中的@@IDENTITY变量只能通过Jet OLE DB provider 和 ADO执行提取,通过Access SQL View 用户界面提取的值将是0,另外,该值只有在通过代码插入记录时才会改变,如果通过用户接口,不管是数据表单、窗体还是Access SQL View窗口中的SQL语句, @@IDENTITY返回值都是0。因此, @@IDENTITY 的值只有在刚刚通过代码加入了记录是才是准确的。 </p>
<p>要获得更详细的有关数据类型的说明,请在Office 助手中或在Microsoft Access 帮助的回答向导的标签页中输入ALTER TABLE ,然后单击查找。 </p>
<p>中级数据操纵语言<br>
《基础Microsoft Jet SQL for Access 2000》一文告诉我们如何使用SQL来检索和管理存储在数据库中的信息。本文的后面部分将讨论中级数据操纵语言(DML)语句,这将使得用户可以更好的控制信息检索和处理的方式。</p>
<p>谓词<br>
谓词指限定一个SELECT 语句的子句,同WHERE 子句类似,但是谓词是在书写列的列表之前定义的。谓词还可以进一步的限制用户所提取的记录集,在某些情况下,过滤出任何可能存在的重复值。</p>
<p>ALL关键字<br>
在SQL语句中,如果没有定义任何谓词的话,将使用缺省的ALL关键字。它意味着所有的符合SQL语句所设定的条件的记录都将被提取出来。回到我们的发票数据库中,从顾客表中提取所域的记录如下:</p>
<p>SELECT *<br>
FROM tblCustomers<br>
</p>
<p>注意尽管这里ALL关键词并没有定义,但它是缺省值。我们也可以如下书写该语句:</p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -