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]
則無效。
?字符順序 [ ] 忽略不計,被看作零長度字符串 (“”)。
---
本文章使用博客內容管理MyBlogWriter發佈