Access中SQL用法小結

2021-05-22 03:14:53 字數 2667 閱讀 8394

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

ACCESS中執行sql語句

不會就看圖 access採用sql語句與sql的區別 access中提供查詢物件,在設計時可以採用設計檢視和sql檢視,非常方便,sql檢視中的sql語句可以在sql server中使用,但是否完全可用呢?答案是否定的,表中總結了 microsoft access 和 microsoft sql s...

在Access中執行SQL

1 基本介紹 microsoft access在很多地方得到廣泛使用,例如小型企業,大公司的部門。喜愛程式設計的開發人員亦利用它來製作處理資料的桌面系統。它也常被用來開發簡單的web應用程式。2 acess使用jet sql引擎,每次只能執行一條sql語句。單擊 create 選擇 query de...

JAVA中this用法小結

表示對當前物件的引用!表示用類的成員變數,而非函式引數,注意在函式引數和成員變數同名是進行區分!其實這是第一種用法的特例,比較常用,所以那出來強調一下。用於在構造方法中引用滿足指定引數型別的構造器 其實也就是構造方法 但是這裡必須非常注意 只能引用乙個構造方法且必須位於開始!還有就是注意 this ...