分析Sqlserver与access数据库sql语法的10大差异
发布时间:2020-12-12 14:44:01 所属栏目:MsSql教程 来源:网络整理
导读:?做项目时,最常用的数据库即Sqlserver与Access数据库莫属了!但使用会经常发现很多SQL执行的问题。这里整理出之间的差异,做个十大差异的总结。? ACCESS结构简单容易处理,而且也能满足多数的网站程序要求,也是初学者的试牛刀。?ACCESS是小型数据库,既然
?做项目时,最常用的数据库即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
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |