1、access的資料類型
Byte 數字[位元組]
Long 數字[長整型]
Short 數字[整型]
Single 數字[單精確度]
Double 數字[雙精確度]
Currency 貨幣
Char 文本
Text(n) 文本,其中n表示欄位大小
Binary 二進位
Counter 自動編號
Memo 備忘
Time 日期/時間
個人感覺稍微需要主要的就是“是/否”類型,可以寫bit或yesno。具體的可以搜一下,貌似相關的資料很多。
2、建立、刪除索引
access中通過sql建立索引的方法有點特殊。
Create Index 索引名 On 表名([欄位名]) //建立可重複的索引
Create Unique Index 索引名 On 表名([欄位名]) //建立唯一索引
刪除:
Drop Index 索引名 On 表名
3、Update語句
Access中涉及多表查詢更新的Update語句也有些特殊。
Update Tab1 a, Tab2 b
Set a.Name = b.Name
Where a.ID = b.ID
而同樣功能的SQL語句在SQLSERVER中應該寫
Update Tab1
Set a.Name = b.Name
From Tab1 a, Tab2 b
Where a.Id = b.ID
也就是說,Access中Update語句沒有From字句,所有引用的表都列在Update關鍵字之後。
另外,tab2可以不是表,而是一個查詢,如
Update Tab1 a, (Select ID,Name From Tab2) b
Set a.ID = b.ID
同樣功能也可以這樣寫
Update Tab1 a Inner Join Tab2 b On a.ID = b.ID Set a.Name = b.Name
4、外串連
Access支援外串連,但不包括完整外部串連。如支援Left Join,Right Join,但不支援FULL OUTER JOIN 或 FULL JOIN等。
當多個表外串連時,每一層串連都必須加一個括弧,如
…… From ((Tab1 Left Join Tab2 On Tab1.ID=Tab2.ID) Left Join Tab3 On Tab1.Name=Tab3.Name)
並且所有的表都必須和第一個表的欄位相串連,例如上面的句子中,第二個串連條件如果是 Tab2.Name=Tab3.Name,Access是不支援的。這一點必須注意。
5、Access中日期間隔符是#而不是引號。
6、可以在一個SQL語句中訪問不同的Access檔案。如
Select a.*,b.* From Tab1 a,Tab2 b In 'db2.mdb' Where a.ID=b.ID
上面的SQL語句查詢出當前資料庫中Tab1和db2.mdb(當前檔案夾中)中Tab2以ID為關聯的所有記錄.
又如
Insert into [Tab] Select [UserID],[UserName] From [;Database=XX.mdb;pwd=YourPassword].[Table2]
將XX.mdb資料庫中Table2表的UserID和UserName欄位記錄都插入到當前資料庫的Tab表中,支援密碼訪問。
7、在ACCESS中訪問其它ODBC資料來源
下例在ACCESS中查詢SQLSERVER中的資料
SELECT * FROM Tab1 IN [ODBC]
[ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]
外部資料源串連屬性的完整參數是:
[ODBC;DRIVER=driver;SERVER=server;DATABASE=database;UID=user;PWD=pass(word);]
其中的DRIVER=driver可以在註冊表中的
HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INI 中找到
8、修改Access資料庫密碼
首先必須以獨佔方式開啟資料庫。
連接字串可以這樣寫
[Provider=Microsoft.Jet.OLEDB.4.0;Data Source=XX.mdb;Jet OLEDB:Database Password=舊密碼;Mode=Share Deny Read|Share Deny Write]
串連成功後,修改密碼的SQL可以這樣寫
Alter Database Password [新密碼] [舊密碼]
如果密碼是空,就寫NULL
9、設定完整些約束條件,請參照《通過SQL語句設定或刪除主鍵——CONSTRAINT用法》 http://blog.csdn.net/icycode/archive/2010/03/27/5421803.aspx
10、逸出字元處理,請參照《Access的逸出字元》http://blog.csdn.net/icycode/archive/2010/01/22/5238099.aspx