3-access数据库和sql数据库你必须知道的区别
- 格式:docx
- 大小:13.52 KB
- 文档页数:1
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。
但是它的同时访问客户端不能多于4个。
access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis 假死,或者消耗掉服务器的内存导致服务器崩溃。
SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。
在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。
因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。
SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。
1、都是主流数据库2、sql server主要用于企业级高性能数据库3、都支持SQL语法,但两者的一些语法格式不同,如access用"&"连接字符,而SQL server用"+"连接4、SQL Server支持的日期从1753年1月1日到9999年12月31日,Access支持100年1月1日到9999年12月31日5.SQL比ACCESS功能更加强大,SQL是结构化查询语言而ACCESS是数据库简言之,Access易上手,界面通俗易懂,但网络和数据库管理、安全方面不足。
oracle和SQL SERVER区别Oracle 数据库领域老大,看下面的SQL Server只适合个人使用或小型企业,成本低,但为了学习我也不会选择它,缺点多多。
DB2 功能上紧次Oracle,担接触的人不多,应用面不如Oracle。
看了下面的你们就都会明白了,不懂的就应该知道以后如何选择使用的数据库了。
1.选择一个好的数据库是非常重要的。
2.如何选择一个好的数据库开放性:SQL Server只能在windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。
Access数据库与SQL Server数据库
姜黎莉; 姜巍巍
【期刊名称】《《知识经济》》
【年(卷),期】2010(000)004
【摘要】数据库技术是计算机技术发展的一个重要分支。
在实际应用中,人们经常需要收集、加工、存储、传送和处理数据,数据、库就是数据处理的有力工具。
以下简要分析两个同属于Microsoft产品的关系型数据库管理系统——Access数据库和SQL Server数据库。
【总页数】2页(P112-113)
【作者】姜黎莉; 姜巍巍
【作者单位】哈尔滨理工大学远东学院 150025
【正文语种】中文
【相关文献】
1.Access数据库与SQL Server数据库主要功能的比较 [J], 崔再惠
2.Access数据库与SQL Server数据库的区别及应用 [J], 廖海燕
3.ACCESS数据库转化为SQL SERVER数据库一些问题的解决方法 [J], 杨春
4.ACCESS数据库和SQL_Server数据库的应用比较 [J], 王大龙;秦琦
5.SQL Server数据库应用系统开发及其安全管理——评《数据库技术及安全教程——SQL Server2008》 [J], 杨玉敏
因版权原因,仅展示原文概要,查看原文内容请购买。
Access和sqlserver的语法区别⼀、有区别的函数及解决⽅案以下所⽰的解决⽅案中的函数定义在untDataBase单元中TAdoConn类的⽅法中。
序号简述Access语法SqlServer语法Oracle语法DB2语法解决⽅案01系统时间Date()GETDATE()SYSDATE GetSysTimeStr02连接字符串&+||+GetConcatStr03截取字符串SubString SubStr SubString SubString GetSubStr04⼩写字符串LCase Lower Lower Lower GetLowerStr05⼤写字符串UCase Upper Upper Upper GetUpperStr06查找字符串InStr InStr CharIndex InStr GetFindStr07替换空值IIF+IsNull Coalesce Nvl Coalesce GetNullStr08条件取值IIF Case+When+Else DeCode或Case IIF GetCaseStr09字段类型转换Str、var、….Convert或cast To_Char,To_Number.GetConvertStr GetConvertStr10⽇期字符串‘2004-10-9’#2004-10-19#‘2004-10-9’GetDateStr11最⼤值加1GetNextNumStr12Like语句函数Like ‘101*Like ‘101%’Like ‘101%’GetLikeStr⼆、Access与SQLSERVER部分相同数据库函数及关键字列表1、函数序号简述01记数函数Count02最⼤值Max2、关键字序号简述01Like02连接Join03判断空Is Null三、Access与语句SqlServer的语句语法区别1、 Inser Into …..Select …From 语句:在ACCESS中以下语句Insert INTOPubSubJectAccCopys(Copy_id,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index) (Select 200201,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index FROM PubSubJectAcc Where PubSubJectAcc.co_type='03')PubSubJectAcc Where PubSubJectAcc.co_type='03')中后⾯"(select 200201******.co_Type='03')"中的⼩括号("(",")")必须去掉才能执⾏,如下:Insert INTOPubSubJectAccCopys(Copy_id,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index) Select 200201,Acc_id,Acc_Pid,Acc_name,acc_short,Acc_Comment,Acc_Pro,acc_type,Sub_id_flag,acc_index FROM PubSubJectAcc Where PubSubJectAcc.co_type='03'在SQL SERVER 中都可以2、 Inner Join 语句1StrSql:='select er_id,er_opcode,b.copy_name from sysuser a inner join (syscopysuser c inner join syscopys b onc.copy_id=c.copy_id) on er_id=er_id whereer_opcode=''' +EdtUserOpCode.text+''' And copy_name='''+Tmpcopyname +'''';应该改为StrSql:='select er_id,er_opcode,b.copy_name from sysuser a inner join (syscopysuser c inner join syscopys b onc.copy_id=d.copy_id) on er_id=er_id whereer_opcode=''' +EdtUserOpCode.text+''' And copy_name='''+Tmpcopyname +'''';该⾏代码的检索条件错误:应该把C.copy_id=C.Copy_id 改为c.copy_id=d.copy_id注:两种写法都能在SQL-SERVER中运⾏,但c.copy_id=C.copy_id在ACCESS中不能运⾏3、 Inner Join 语句2StrSql:='select copy_year,copy_name,a.copy_id from SysCopys a inner join SysCopysUser b on a.curcopy_flag=1 anda.copy_id=b.copy_id where er_id=' + '''' +TmpPubUserID+ '''';该为StrSql:='select copy_year,copy_name,a.copy_id from SysCopys a inner join SysCopysUser b on a.copy_id=b.copy_id where a.curcopy_flag=''1'' and er_id=' + '''' +TmpPubUserID+ '''';注:两种写法都能在SQL-SERVER中运⾏,但第⼀种在ACCESS中不能运⾏4、 Inner Join语句3SQl server 中可以执⾏以下语句'Select distinct sysoption.opti_id,sysoption.opti_name,sysoption.opti_code,sysroleoption.opti_sort From sysoption inner join sysroleoption ON sysoption.opti_id=sysroleoption.opti_id AND sysroleoption.role_id=:roleid'但ACCESS中不能,只能'Select distinct sysoption.opti_id,sysoption.opti_name,sysoption.opti_code,sysroleoption.opti_sort From sysoption inner join sysroleoption ON sysoption.opti_id=sysroleoption.opti_id Where sysroleoption.role_id=:roleid'5、 Update语句Sql SerVer 中能执⾏但Access 中不能'Update sysuserrole SET sysuserrole.role_sort = (Select sysrole.role_sort FROM sysrole Where sysuserrole.role_id = sysrole.role_id and er_id='01')'收藏分享2#发表于 2009-7-3 18:32 | 只看该作者6、⽇期⽐较SQL SERVER 中⽤StrSql:='select copy_year,Start_month,Cur_month,Start_Flag,Start_date,End_date '+'From SysCopys 'myjs⾼级会员+'where copy_id='''+LoginCopyID+''' '+'and start_date<='''+datetostr(LoginDate)+''' '+'and end_date>='''+datetostr(LoginDate)+'''';ACCESS中⽤StrSql:='select copy_year,Start_month,Cur_month,Start_Flag,Start_date,End_date '+'From SysCopys '+'where copy_id='''+LoginCopyID+''' '+'and start_date<=#'+datetostr(LoginDate)+'# '+'and end_date>=#'+datetostr(LoginDate)+'#'参考以上的第10个函数“GetDateStr”7、最⼤数值获取语句StrSql:='insert into sysRoleOption '+'select '''+fidRoleId+''' as Role_ID,opti_id,'+'convert(numeric,opti_id)-(convert(numeric,opti_parentid)*100)+'+ MaxOptiSort+' as opti_Sort from sysoption where opti_parentid='''+PCoTypeID(self.trvRoles.Selected.data)^.StrCoTypeID+''' and opti_bottom=''1'+'''';改为StrSql:='insert into sysRoleOption '+'select '''+fidRoleId+''' as Role_ID,opti_id,'+'opti_id-opti_parentid*100+'+ MaxOptiSort+' as opti_sort from sysoption where opti_parentid='''+PCoTypeID(self.trvRoles.Selected.data)^.StrCoTypeID+''' and opti_bottom=''1'+''''注:两种写法都能在SQL-SERVER中运⾏,但第⼀种在ACCESS中不能运⾏但是考虑会出现Null值以及语句的通⽤性,可以使⽤以上的第07个函数“GetNullStr”和第09个函数“GetConvertStr”来完成字符串向数字,空值和0数字的转换:参考GetNextNumStr代码。
MSSQL百科名片MS SQL是指微软的SQL Server数据库服务器,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。
SQL Server 一开始并不是微软自己研发的产品,而是当时为了要和IBM竞争时,与Sybase合作所产生的,其最早的发展者是Sybase,同时微软也和Sybase合作过SQL Server 4.2版本的研发,微软亦将SQL Server 4.2移植到Windows NT(当时为3.1版),在与Sybase终止合作关系后,自力开发出SQL Server 6.0版,往后的SQL Server 即均由微软自行研发。
历史渊源在与微软终止合作关系后,Sybase在Windows NT上的数据库产品原本称为Sybase SQL Server,后来改为现在的Sybase Adaptive Server。
MYSql百科名片——MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。
在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
名称简介——MySQL最初的开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。
不管怎样,在经过一些测试后,开发者得出结论:mSQL并没有他们需要的那么快和灵活。
这导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。
MySQL这个名字是怎么来的已经不清楚了。
Access、SQL Server、Oracle的区别在做公司一个产品中,需要有Access、SQL Server、Oracle三个版本;编写SQL语句的过程中,尽量使用一些通用的语句,但还是有些方面有些区别避免不了,现简单总结一下。
以下A代表Access,S代表SQL Server,O代表Oracle1、取当前系统时间A:Select Now()S:Select Getdate()O:Select Sysdate From Dual2、连接字符串A:&S:+O:||3、字符串函数(截取字符串、大写、小写、查找字符串位置)A:Mid、UCase、LCase、InStrS:SubString、Upper、Lower、CharIndexO:SubStr、Upper、Lower、InStr4、判断取值语句A:IIFS:Case When ThenO:Decode5、时间字段A:要用#号分隔,或者转换为日期SELECT * FROM Books WHERE RegDate = #2007-5-1# 或SELECT * FROM Books WHERE RegDate = CDate(’2007-5-1′)S:可以直接用''SELECT * FROM Books WHERE RegDate = ‘2007-5-1′O:To_DateSELECT * FROM Books WHERERegDate=To_Date('2007-05-01','yyyy-mm-dd')6、数据类型转换A:CStr,CInt,CDateS:ConvertO:To_Char,To_Number,To_Date7、Inser Into …..Select …From 语句Insert Into a(ii,jj,kk) (Select ii,jj,kk From b)这样的语句,在SQL Server以及Oracle中都不会有错,但在Access中会报:INSERT INTO 语句的语法错误。
access数据库和sql数据库你必须知道的区别在选择到底是学习access还是sql的时候,了解一下它们之间的区别会对你有帮助的。
有兴趣的朋友们不如和乔布简历小编一起来看看这方面的相关知识呗!Access是一种只适合数据量少的应用的桌面数据库,处理少量和单机访问的数据库时效率会很高。
但是它不能同时访问四个以上客户端。
access数据库的数据达到一定的极限可能会导致服务器崩溃。
而SQL Server是可以适合大容量数据应用的基于服务器端的中型数据库,在功能上管理上比Access要好得多。
在处理海量数据的效率以及可扩展性等方面比较强大。
因为现在的数据库大都使用标准的SQL语言来对数据库进行管理的,所以如果是标准SQL语言,两者基本上都可以通用的。
Access与SQL Server的区别还有以下几点1、数据库引擎不同。
Access是由微软发布的关联式数据库管理系统。
它结合了Microsoft Jet Database Engine和图形用户界面两项特点Microsoft Office的成员之一。
SQL是Structured Query Language(结构化查询语言)的缩写,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。
SQL Server是一个关系数据库管理系统。
2、数据访问模型不同。
Access的所有数据处理(例如排序和筛选)都是在一台计算机上完成的。
Access开发人员通过拆分数据库来模拟客户端/服务器方法。
而SQL Server是一个纯客户端/服务器RDBMS。
这意味着客户端和服务器可以共同分担处理负载。
客户端使用参数发送数据请求,服务器执行排序和筛选操作,然后只将经过筛选的数据集返回客户端。
3、表设计不同。
这两个数据库管理系统(DBMS)都是关系型的,也就是说,相关数据都存储在通过唯一标识符链接的逻辑表中。
Access和Sql区别假设表game有⼀字段为gameYuiJian为bit字段(SQL SERVER 20005)和"是/否"字段(ACCSS数据库),在编写脚本⽂件时,如下才能正确执⾏ SQL strCmd = "Select Top 14 * From game Where gameTuiJian = 1 Order By Id Desc"; OleDb strCmd = "Select Top 14 * From game Where gameTuiJian = true Order By Id Desc"; 在时间的处理: sql server 语句"Select * From tt1 Where time1>'2009-12-01' " Access 语句" Select * From tt1 Where time1>#2009-12-01#"也可以⽤上⾯语句 Sql Server 语句"Select * From tt1 Where DateDiff(day,time1,getdate()) Access语句"Select * From tt1 Where DateDiff('d',time1,now) Access与SQL SERVER数据库转换 由于SQL2000⾥⾯没有"⾃动编号",所以你的以"⾃动编号"设置的字段都会变成⾮空的字段,这就必须⼿⼯修改这些字段,并把他的"标⽰"选择"是",种⼦为"1",增量为"1", 2,另外,ACCESS2000转换成SQL2000后,原来属性为"是/否"的字段将被转换成⾮空的"bit",这时候你必须修改成⾃⼰想要的属性了; ACCESS转SQL SERVER中的⼀些经验1.ACCESS的数据库中的⾃动编号类型在转化时,sql server并没有将它设为⾃动编号型,我们需在SQL创建语句中加上identity,表⽰⾃动编号!2.转化时,跟⽇期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围⽐smalldatetime型⼤。
access数据库和sql数据库你必须知道的区别
在选择到底是学习access还是sql的时候,了解一下它们之间的区别会对你有帮助的。
有兴趣的朋友们不如和乔布简历小编一起来看看这方面的相关知识呗!
Access是一种只适合数据量少的应用的桌面数据库,处理少量和单机访问的数据库时效率会很高。
但是它不能同时访问四个以上客户端。
access数据库的数据达到一定的极限可能会导致服务器崩溃。
而SQL Server是可以适合大容量数据应用的基于服务器端的中型数据库,在功能上管理上比Access要好得多。
在处理海量数据的效率以及可扩展性等方面比较强大。
因为现在的数据库大都使用标准的SQL语言来对数据库进行管理的,所以如果是标准SQL语言,两者基本上都可以通用的。
Access与SQL Server的区别还有以下几点
1、数据库引擎不同。
Access是由微软发布的关联式数据库管理系统。
它结合了Microsoft Jet Database Engine和图形用户界面两项特点Microsoft Office的成员之一。
SQL是Structured Query Language(结构化查询语言)的缩写,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。
SQL Server是一个关系数据库管理系统。
2、数据访问模型不同。
Access的所有数据处理(例如排序和筛选)都是在一台计算机上完成的。
Access开发人员通过拆分数据库来模拟客户端/服务器方法。
而SQL Server是一个纯客户端/服务器RDBMS。
这意味着客户端和服务器可以共同分担处理负载。
客户端使用参数发送数据请求,服务器执行排序和筛选操作,然后只将经过筛选的数据集返回客户端。
3、表设计不同。
这两个数据库管理系统(DBMS)都是关系型的,也就是说,相关数据都存储在通过唯一标识符链接的逻辑表中。
在Access中,可以为表中的字段指定规则,这样,当一个表中的值发生变化时,相关表中的值将自动更新(级联更新)。
在SQL Server中,可以通过企业管理器中的关系图设计器创建相同的规则。
access数据库和sql数据库你必须知道的区别
/knowledge/articles/56a72c780cf25bdd2926bf90。