SQL与ACCESS数据库的区别
Access是桌面数据库,没有远程分布式运算能力,而且当数据库达到百万的数据量,就会接近他的极限,运行速度会很慢,你可以尝试一下打开一个10M的Access的速度。MSSQL是网络型数据库,支持分布式运算,能够把数据库服务器与网站服务器分开,实现多层应用,当数据达到千万级别,性能页不会有很大影响。 Access没有办法跟MSSQL比的,两个更本不是一个量级别的。Access就像小鸟,虽小,五脏具全,但是他设计出来就是作为开发桌面应用的。ACCESS转为使用MSSQL有两个地方要修改一下源程序一个是日期Access表示方式是#日期#MSSQL是'日期'还有时间获取Access表示方式是Da...全部
Access是桌面数据库,没有远程分布式运算能力,而且当数据库达到百万的数据量,就会接近他的极限,运行速度会很慢,你可以尝试一下打开一个10M的Access的速度。MSSQL是网络型数据库,支持分布式运算,能够把数据库服务器与网站服务器分开,实现多层应用,当数据达到千万级别,性能页不会有很大影响。
Access没有办法跟MSSQL比的,两个更本不是一个量级别的。Access就像小鸟,虽小,五脏具全,但是他设计出来就是作为开发桌面应用的。ACCESS转为使用MSSQL有两个地方要修改一下源程序一个是日期Access表示方式是#日期#MSSQL是'日期'还有时间获取Access表示方式是Date()MSSQL是getDate()一般修改了这两个问题!直接把Access的库结构导出,放到MSSQL中建表后就基本能够直接移植过去语法差异:SQLServer、MicrosoftAccess都是微软的产品。
前者用于中型企业级应用,后者是小型数据库的代表,初学者易于掌握。在开发一般信息系统时,尤其是单机版,大都采用Access。虽然SQLServer也有个人桌面版,但是运行时需占用较多的系统资源。
在局域网广泛应用的形势下,网络版软件大行其道,不少软件从单机版过渡到C/S模式的网络应用,通过SQL语句从服务端获取数据集,将查询结果返回给客户端。Access中提供查询对象,在设计时可以采用设计视图和SQL视图,非常方便,SQL视图中的SQL语句可以在SQLSERVER中使用,但是否完全可用呢?答案是否定的,表1中总结了MicrosoftAccess和MicrosoftSQLServers的SQL语法的重要区别。
表1SQL语法元素MicrosoftAccessMicrosoftSQLServer标识符限制不超过64个字符。允许使用关键字和特殊字符。可以用任何字符开头。SQLServer6。5:限制不超过30个字符。
不允许使用关键字和特殊字符。必须用字母字符开头。SQLServer7。0的标识符与Access完全兼容。输出字段允许多个输出字段具有相同名称。在视图中不支持多个相同输出字段名。日期分隔符号英镑符(#)撇号(')Boolean常量True、False;On、Off;Yes、No。
整数:1(真)、0(假)字符串连接和号(&)加号(+)通配符星号(*)与零个或更多字符匹配。问号(?)与单个字符匹配。叹号(!)意味着不在列表中。英镑符(#)意味着单个数字。百分号(%)与零个或更多字符匹配。
下划线(_)与单个字符匹配。上插入符(^)意味着不在列表中。没有与英镑符(#)对应的字符。TOP如果有一个ORDERBY子句,自动包含层次。SQLServer6。5不支持。SQLServer7。
0需要一个明确的WITHTIES子句。CREATEINDEX允许创建升序和降序索引。允许声明主键,没有Null值,并且忽略Null值。DROPINDEX语法是:DropIndexON语法是:DropIndex,DISTINCTROW支持(允许选择单个记录)。
不支持。OWNERACCESS支持(在执行时控制许可权)。不支持。TableinUNION支持(允许使用下列语法指定表:TABLE不支持。ORDERBYinUnions支持。允许通过联合查询中的子句实现多种排序。
支持。允许通过语句末尾的子句实现一种排序。TRANSFORM支持。用于交叉表查询。不支持。PARAMETERS支持(在SQL中记录)。不支持。以northwind数据库为例,若要得到相同查询结果,SQL语句作相应变化。
*FROMProductswhereproductnamelike'c*';SELECT*FROMProductswhereproductnamelike'c?ang'; *FROMProductsWHEREproductnameLIKE'c%'SELECT*FROMProductsWHEREproductnameLIKE'c_ang'在开发过程中尤其需要注意通配符的变化。
收起