ACCESS SQL语法参考

ACCESS SQL语法参考

=================

一. 基础概念

可以使用的数据类型如下:

1.      TEXT:文本型(指定长度时),备注型(不指定长度时);

2.      CHAR,NCHAR,VARCHAR,NVARCHAR:文本型,可以指定长度,否则默认值为255!

3.      BYTE,TINYINT:数字-字节,不要指定长度和精度,否则会报错!

4.      SMALLINT,SHORT:数字-整型,不要指定长度和精度,否则会报错!

5.      INT,INTEGER,LONG:数字-长整型,不要指定长度和精度,否则会报错!

6.      NUMERIC,DECIMAL:数字-小数,可以指定长度和精度,如只指定长度,那精度默认为0,如都不指定,那么默认长度18,默认精度0;

7.      SINGLE,REAL:数字-单精度型,不要指定长度和精度,否则会报错!

8.      DOUBLE,FLOAT,NUMBER:数字-双精度型,不要指定长度和精度,否则会报错!

9.      MEMO:备注型,不要指定长度,否则会报错!

10. BINARY:二进制型,可以指定长度,否则默认长度为510!

11. BIT:位型,可用格式(yes/no, true/false, on/off)

12. MONEY,CURRENCY:货币型,不要指定长度和精度,否则会报错!

13. DATETIME:日期时间型,不要指定长度,否则会报错!

14. IMAGE,OLEOBJECT: OLE OBJECT型,不要指定长度,否则会报错!

推荐使用的数据类型如下:

1.        文本类型请使用:TEXT(长度)或 MEMO

2.        数值类型(整数)请使用:SHORT 或 LONG

3.        数值类型(小数)请使用:DECIMAL(长度,精度)

4.        日期类型请使用:DATETIME

参考如下MICROSOFT官方资料:

数据类型        存储大小              说明

BINARY        每字符一个字节      任何类型的数据都可存储在这种类型的字段中。

BIT              1 个字节               Yes/No(TURE/FALSE, ON/OFF,-1/0)只包含两值之一的字段。

TINYINT        1 个字节               介于 0 到 255 之间的整型数。

MONEY          8 个字节              介于 – 922,337,203,685,477.5808 到922,337,203,685,477.5807 之间。

DATETIME     8 个字节               介于 100 到 9999 年的日期或时间数值。

UNIQUEIDENTIFIER     128 个位 用于远程过程调用的唯一识别数字。

REAL             4 个字节              单精度浮点数

FLOAT            8 个字节             双精度浮点数

SMALLINT     2 个字节               介于–32,768 到 32,767 的短整型数。

INTEGER        4 个字节             介于–2,147,483,648 到 2,147,483,647 的长整型数。

DECIMAL       17 个字节            你可以定义精度 (1 - 28) 和符号 (0 - 定义精度)。缺省精度和符号分别是18和0。

TEXT           每字符2字节            从0到最大2,14GB字节。

IMAGE         视实际需要而定        从0到最大2,14GB字节。用于 OLE 对象。

CHARACTER   每字符2字节          长度从 0 到 255个字符。

 

二. DDL

1.创建表:


1)CREATE TABLE XCUST (CUSTNO SHORT NOT NULL,CUSTNAME TEXT(40) NOT NULL,ADDRESS TEXT(60),PRICE DECIMAL(15,4) NOT NULL,SITE DATETIME,TELNO TEXT(30),FAXNO TEXT(30))
2)SELECT * INTO XCUST2 FROM XCUST WHERE CITY NOT LIKE ’中国江西九江’

2.修改表:

1)增加列:ALTER TABLE XCUST ADD COLUMN CITY TEXT(30)
2)删除列:ALTER TABLE XCUST DROP COLUMN CITY
3)修改列:ALTER TABLE XCUST ALTER COLUMN CITY TEXT(40)


三. DML

1.插入数据:

1)INSERT INTO XCUST (CUST, CITY) VALUES (‘0659’, ’中国上海’)

2)INSERT INTO XCUST VALUES (‘0619’, 18, ’2007-09-22’, ’中国南京’)

3)INSERT INTO XCUST SELECT * FROM XCUST1 WHERE CITY LIKE ‘美国%’

2.修改数据:

1)改日期:UPDATE XCUST SET NDATE='2007/07/17' WHERE CUST='0659'

2)改数值:UPDATE XCUST SET CAGE=33 WHERE CUST='0659'

3)改文本:UPDATE XCUST SET CUST=’0699’ WHERE CUST='0659'

四. 字符串比较中使用通配符

仅当使用 Microsoft® Jet 4.X 版和 Microsoft OLE DB Provider for Jet 时,ANSI SQL 通配符 (%) 和 (_) 才可用。若使用 Microsoft Access 或 DAO,则将其视为原义字符。

在样式中的字符        在表达式中的匹配

? or _(下划线)       任何单一字符

* or %                    零个或多个字符

#                            任何单一数字(0 — 9)

[字符列表]                 任何在字符列表中的单一字符

[!字符列表]                任何不在字符列表中的单一字符

用括在括号 ([ ]) 中的一组字符(字符表)来匹配表达式中任何的单一字符,而且字符表中几乎可以包含 ANSI 字符集中的任何字符,包括数字。事实上特殊字符,如左括号 ([ )、问号(?)、井字号(#)和星号(*),当它们括在括号内时,可以直接和它们自己匹配。一组字符内的右括号 ( ]) 不能匹配它自己,但是如果它是一组之外的单一字符,就能用来匹配。除了括在括号内的字符的简单表列,字符表可以指定一字符范围,用连字符号 (-) 来隔开范围的上下界。例如,在样式中使用 [A-Z] ,可在包含从 A 到 Z 的任何大写字母的表达式内,找出相应的字符位置。可以在括号之中包含多个范围且不需要在范围间划上界线。例如,[a-zA-Z0-9] 指任何符合文数值的字符。

样式匹配的重要的规则还有:

•在字符表开头的惊叹号(!),意味着在表达式中寻找那些不包括在字符表中的字符。若惊叹号(!)在括号之外,它只匹配它自己。
•如果连字符(-)在字符表的开头(如果有惊叹号,则紧跟在惊叹号之后),或在字符表的末尾,则它匹配连字符(-)自己。否则它被视为 ANSI 字符范围的标识。
•当您指定一个字符范围时,首尾字符必须以升序的顺序出现(A-Z 或 0-100)。例如,[A-Z] 是有效的,而 [Z-A] 则无效。
•字符顺序 [ ] 忽略不计,被看作零长度字符串 (“”)。

转载于:https://www.cnblogs.com/zhaoshujie/archive/2008/09/20/9594846.html

你可能感兴趣的:(ACCESS SQL语法参考)