Access中SQL用法小結

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.