Access与SqlServer都是微软的数据库产品,但2者之间还是有比较大的区别
相关对比文章 :
2者都是关系数据库,均支持表和查询,均支持ADO,均支持ODBC链接,均支持标准Sql语法,都是微软的产品,但Access是桌面型关系数据库,SqlServer是企业级大型数据库管理系统,数据库规模的级别及应用场景不同。
SQL server 仅是数据库,是后台数据储存数据与查询/视图 ,但不具备软件界面的设计开发, Access同时具备后台数据储存与前台界面开发的功能,除了表和查询,还有窗体设计 报表设计与VBA模块
早期Access使用工作组Mdw (tmtony)可以进行简单的权限管理 ,新版的Access不具备权限管理的功能, 但可以使用VBA代码及窗体实现自己的权限管理,SQL server内置权限管理 ,管理权限划分细致,网络使用安全性更高。
Access局域使用一般并发10个用户以上,如果通过ADO等方式,支持50人可能免为其难;而SQL server 在服务器硬件及带宽允许的情况下,可同时支持几千上万人在线
Access多用户使用表现一般;而SQL server则挺快,特别是并发用户多时更明显
另Sql server支持触发器 及存储过程,在服务器数据大量处理和运算时,性能更强。
1、Access dao通配符是 * ,SqlServer或ADO 通配符是 %
2、日期字段表示方式:ACCESS表示为:#2022-07-16# ,SQL Server表示为:“2022-07-16”
3、多表操作时update语句的区别 (以下内容摘自百度知道)
(1)SQL SERVER中更新多表的UPDATE语句:
UPDATE Tab1 SET a.Name = b.Name FROM Tab1 a,Tab2 b WHERE a.ID = b.ID ;
(2)同样功能的SQL语句在ACCESS中应该是:
UPDATE Tab1 a,Tab2 b SET a.Name = b.Name WHERE a.ID = b.ID ;
即:ACCESS中的UPDATE语句没有FROM子句,所有引用的表都列在UPDATE关键字后。
更新单表时:都为:
UPDATE table1 set ab=‘12‘,cd=444 where ....
4、delete语句中的区别
(1)ACCESS中删除时用:delete * from table1 where a>2 ,即只要把select 语句里的select 换成delete就可以了。
(2)SQL Server中则为: delete from table1 where a>2 ,即没有*号。
5、as 后面的计算字段区别
(1)ACCESS中可以这样:select a,sum(num) as kc_num,kc_num*num as all_kc_num 即可以把AS后的字段当作一个数据库字段参与计算。
(2)SQL Server中则为:select a,sum(num) as kc_num,sum(num)*num as all_kc_num 即不可以把AS后的字段当作一个数据库字段参与计算。
6、[.]与[!]的区别
(1)ACCESS中多表联合查询时:select tab1!a as tab1a,tab2!b tab2b from tab1,tab2 ,中间的AS可以不要。
(2)SQL Server中则:select tab1.a as tab1a,tab2.b tab2b from tab1,tab2 ,中间的AS可以不要。
Access数据库文件大频繁读写容易膨胀变大,而且多用户同时并发使用,Access常会引起数据损坏无法访问;SQL server很少损坏数据
Access数据库大小不能大于2G,容纳的表与查询的个数也有限制,需要经常备份,一旦损坏难以恢复,SQL server容量几乎是无限的,只限于硬件配置。而且在多核CPU还有优化(tmtony)。
Access是小型数据,不需要单独安装服务器,直接就可以访问数据库文件,复制 备份 还原比较方便,而SQL Server是大型数据库,需要单独的安装服务器,复制 备份 还原 迁移相对复杂不少。
不过Access本身既是数据库,又是前端界面开发工具,而且数据库量级非常大时,还可以通过链接表链接到SqlServer数据库,所以当数据规模不大时,使用Access数据库也是一个很好的选择。
有没有公司在用access建数据库?
专注access 20年,可以关注我 @小辣椒高效Office