分析Sqlserver與access資料庫sql文法的10大差異

來源:互聯網
上載者:User

做項目時,最常用的資料庫即Sqlserver與Access資料庫莫屬了!但使用會經常發現很多SQL執行的問題。這裡整理出之間的差異,做個十大差異的總結。 
ACCESS結構簡單容易處理,而且也能滿足多數的網站程式要求,也是初學者的試牛刀。 ACCESS是小型資料庫,既然是小型就有他根本的局限性: 

1)、資料庫過大,一般ACCESS資料庫達到50M左右的時候效能會急劇下降! 

2)、網站訪問頻繁,經常超過100人的線上時,處理速度會有影響! 

3)、記錄數過多,一般記錄數達到10萬條左右的時候效能就會急劇下降!

微軟公司為了與ACCESS高低搭配的一種高端方案:改用了Sqlserver,但文法會有一些差異。 

1、select,update語句區別 

select,update對於單表操作時基本一致。 但多表操作時update語句的區別ACCESS與SQLSERVER中的UPDATE語句會有差別: 

SQLSERVER中更新多表的UPDATE語句: 
UPDATE Table1 SET a.Name = b.Name FROM Table1 a, Table2 b WHERE a.ID = b.ID; 

ACCESS中同樣功能的SQL語句: 
UPDATE Table1 a, Table2 b SET a.Name = b.Name WHERE a.ID = b.ID; 

比較得出:ACCESS中的UPDATE語句沒有FROM子句,所有引用的表都列在UPDATE關鍵字後,這點同mysql; 

2、delete語句 

SQLSERVER中:DELETE from Table1 WHERE ID > 1; 

Access中:DELETE * from Table1 WHERE ID > 1; 

比較得出:SQLSERVER中,即只要把select語句裡的select與delete的操作文法一致的,不需要*; 

3、as後面的計算欄位區別 

SQLSERVER中: 
SELECT a.sum(num) as sum_num, sum(num)*num as all_num; 

即 Access中: 
SELECT a,sum(num) as sum_num, sum_num*num as all_num; 

即 比較得出: 

SQLSERVER中:不可以把AS後的欄位當作一個資料庫欄位參與計算。 

Access中: 可以把AS後的欄位當作一個資料庫欄位參與計算。 

4、「.」與「!」的差異 

SQLSERVER中: 
SELECT Table1.a AS Table1a, Table2.b AS Table2b FROM Table1, Table2; 

Access中: 
SELECT Table1!a AS Table1a, Table2!b AS Table2b FROM Table1, Table2; 

比較得出: 「!」使用的場合很少,在ACCESS中也是可以使用「.」的,但不要吧省略AS; 

5、日期分隔符號 

SQLSERVER中:單引號(’) 

Access中:井號(#) 

6、Boolean所表示的常量 

SQLSERVER中:整數:1(真)、0(假) 

Access中:True、False;On、Off;Yes、No;整數:-1(真)、0(假)。 

7、字串串連 

SQLSERVER中:加號(+) 

Access中:和號(&) 

8、萬用字元 

SQLSERVER中: 

百分比符號(%)與零個或更多字元匹配。 

底線(_)與單個字元匹配。 

上插入符(^)意味著不在列表中。 

沒有與英鎊符(#)對應的字元。 

Access中: 

星號(*)與零個或更多字元匹配。 

問號(?)與單個字元匹配。 

歎號(!)意味著不在列表中。 

英鎊符(#)意味著單個數字。 

9、DROP INDEX 

SQLSERVER中:Drop Index <表名>.<索引名> 

Access中:Drop Index <索引名> ON <表名> 

10、表添加識別欄位 

SQLSERVER中:alter table <表名> add <列名> bigint identity(1,1) not null

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.