你搞懂 ORACLE、 SQLSERVER、MYSQL与DB2的区别了吗

ORACLE、 SQLSERVER、MYSQL与DB2的区别--平台性:    Oracle、MYSQL与DB2可在所有主流平台上运行;    SQL Server只能在Windows下运行; --安全性:    Oracle的安全认证获得最高认证级别的ISO标准认证,而SQL Server并没有获得什么安全认证;    这方面证明了Oracle的安全性是高于SQL Server的; --数据类型、函数、sql语句:    oracle中有复合数据类型,sql server中没有; 总之:     ORACLE 大型,完善,安全;     SQLSERVER 简单,界面友好,WINDOWS平台下的好选择 ,SqlServer后与SYBASE也比较接近的;     MYSQL 免费,功能不错,适合个人网站及一些小企业的网站应用;     DB2 超大型,与ORACLE类似 ,数据仓库和数据挖掘相当的不错,特别是集群技术可以使DB2的可扩性能达到极致。 全称为IBM DB2。是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本。 DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。   DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。   DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。   DB2以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。   DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。

SQL Server 与 Oracle 数据库两者一个最大的区别,就是其应用平台的差异

现在SQL Server数据库只能够部署在微软的操作系统上。而Oracle数据库其不但可以支持微软的操作系统,而且还可以支持开源的操作系统,如Linux等等。

感觉最大区别是在锁机制上,一个是页级锁,一个是行级锁,效能相差很大

体系机构好像不同,ORACLE是一个数据库多用户多个表空间,SQL是多个数据库。不知对不对。

oracle for windows和 oracle for linux区别还是很大的,很显然,一个是以线程为主的,一个是以进程为主的。

至于Oracle for windows和SQL server,妈的,价格有区别啊!SQL server便宜,oracle贵,您要回扣我们就买oracle.

oracle   国内销售作的火,大多数企业,事业使用 
sqlserver   中小型数据库的首选 
mysql   免费,配合php,perl   一般作网站的数据库 
db2   (没接触过)


比较SQL Server与Oracle、DB2  关键词:Sql   Server,   Oracle

1.选择一个好的数据库是非常重要的。

2.如何选择一个好的数据库 
开放性: 
SQL Server         
只能在windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NT  server只适合中小型企业。

而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据量的关键业务时.        Oracle

能在所有主流平台上运行(包括windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。 
DB2 
能在所有主流平台上运行(包括windows)。最适于海量数据。DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%.

可伸缩性,并行性 SQL server

并行实施和共存模型并不成熟。很难处理日益增多的用户数和数据卷。伸缩性有限。 Oracle   平行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。如果windowsNT不能满足需要,用户可以把数据库移到UNIX中。 DB2    DB2具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境   数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点或数据库节点      安全性 SQL server                 没有获得任何安全证书。         Oracl获得最高认证级别的ISO标准认证。 DB2 获得最高认证级别的ISO标准认证。

性能 

SQL Server :多用户时性能不佳  

Oracle:性能最高,保持windowsNT下的TPC-D和TPC-C的世界记录。

DB2:适用于数据仓库和在线事物处理性能较高。 客户端支持及应用模式 

SQL Server :C/S结构,只支持windows客户,可以用ADO,DAO,OLEDB,ODBC连接.

Oracle 
多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接     
DB2 
跨平台,多层结构,支持ODBC,JDBC等客户 
操作简便 
SQL Server                       
操作简单,但只有图形界面.   
Oracle 
较复杂, 同时提供GUI和命令行,在windowsNT和unix下操作相同               
DB2 
操作简单,同时提供GUI和命令行,在windowsNT和unix下操作相同       
使用风险 
SQL server                 
完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。并不十分兼容早期产品。使用需要冒一定风险。 
  
Oracle 
长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。 
DB2 
在巨型企业得到广泛的应用,向下兼容性好。风险小。

1. ORACLE 
oracle能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准采用完全开放策略

可以使客户选择最适合的解决方案。对开发商全力支持.oracle并行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。

如果windowsNT不能满足需要,用户可以把数据库移到UNIX中。Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。

oracle获得最高认证级别的ISO标准认证.oracle性能最高, 保持开放平台下的TPC-D和TPC-C的世界记录oracle多层次网络计算,支持多种工业标准,可以用ODBC、JDBC、OCI等网络客户连接。

长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。 
     Oracle在兼容性、可移植性、可联结性、高生产率上、开放性也存在优点。Oracle产品采用标准SQL,并经过美国国家标准技术所(NIST)测试。

与IBM SQL/DS,DB2,INGRES,IDMS/R等兼容。 

Oracle的产品可运行于很宽范围的硬件与操作系统平台上。可以安装在70种以上不同的大、中、小型机上;可在VMS、DOS、UNIX、WINDOWS等多种操作系统下工作。能与多种通讯网络相连,支持各种协议(TCP/IP、DECnet、LU6.2等)。提供了多种开发工具,能极大的方便用户进行进一步的开发。Oracle良好的兼容性、可移植性、可连接性和高生产率是Oracle RDBMS具有良好的开放性。

2. SQLSERVER 
SQL Server 是Microsoft推出一套产品,它具有使用方便、可伸缩性好、与相关软件集成程度高等优点,逐渐成为Windows平台下进行数据库应用开发较为理想的选择之一。

SQLServer是目前流行的数据库之一,它已广泛应用于金融,保险,电力,行政管理等与数据库有关的行业.而且,由于其易操作性及友好的界面,赢得了广大用户的青睐,尤其是SQLServer与其它数据库,如Access,FoxPro,Excel等有良好的ODBC接口,可以把上述数据库转成SQLServer的数据库,因此目前越来越多的读者正在使用SQLServer. 
3. MYSQL 
MySQL不支持事务处理,没有视图,没有存储过程和触发器,没有数据库端的用户自定义函数,不能完全使用标准的SQL语法。 
从数据库行家听说的第一件事就是MySQL缺乏transactions,rollbacks, 和subselects的功能。

如果你计划使用MySQL写一个关于银行、会计的应用程序,或者计划维护一些随时需要线性递增的不同类的计数器,你将缺乏transactions功能。

在现有的发布版本的MySQL下,请不要有任何的这些想法。(请注意,MySQL的测试版3.23.x系列现在已经支持transactions了)。  
  在非常必要的情况下,MySQL的局限性可以通过一部分开发者的努力得到克服。

在MySQL中你失去的主要功能是subselect语句,而这正是其它的所有数据库都具有的。

换而言之,这个失去的功能是一个痛苦。 
MySQL没法处理复杂的关联性数据库功能,例如,子查询(subqueries),虽然大多数的子查询都可以改写成join 
另一个MySQL没有提供支持的功能是事务处理(transaction)以及事务的提交(commit)/撤销(rollback)。

一个事务指的是被当作一个单位来共同执行的一群或一套命令。

如果一个事务没法完成,那么整个事务里面没有一个指令是真正执行下去的。

对于必须处理线上订单的商业网站来说,MySQL没有支持这项功能,的确让人觉得很失望。

但是可以用MaxSQL,一个分开的服务器,它能通过外挂的表格来支持事务功能。  
外键(foreignkey)以及参考完整性限制(referentialintegrity)可以让你制定表格中资料间的约束,然后将约束(constraint)加到你所规定的资料里面。

这些MYSQL没有的功能表示一个有赖复杂的资料关系的应用程序并不适合使用MySQL。

当我们说MySQL不支持外键时,我们指的就是数据库的参考完整性限制--MySQL并没有支持外键的规则,当然更没有支持连锁删除(cascadingdelete)的功能。

简短的说,如果你的工作需要使用复杂的资料关联,那你还是用原来的Access吧。  
你在MySQL中也不会找到存储进程(storedprocedure)以及触发器(trigger)。(针对这些功能,在Access提供了相对的事件进程(eventprocedure)。) 

SQL Server和oracle的区别
首先一点,这三个数据库不是同一个公司的产品;二、其所对应的使用对象也不一样,oracle是主流的大型数据库,大多数电信项目都是使用的oracle,而sqlserver与mysql主要是个人以及小型公司使用的的数据库,但是sqlserver需要收费,mysql不用;三、如果按功能上来说,oracle最为强大,oracle支持递归查询,二后两者不支持;四、三个数据库中,只有sqlserver有完整的图形化操作界面,而oracle与mysql都要借助于其他的第三方数据库图形操作界面,比如oracle用的大多都是plsql;

一、开放性 1. SQL Server 只能在windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据库。 2. Oracle 能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。 二、可伸缩性,并行性 1. SQL server 并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。 2. Oracle 并行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。如果windowsNT不能满足需要,用户可以把数据库移到UNIX中。Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。三、性能 1. SQL Server 多用户时性能不佳 2. Oracle 性能最高, 保持开放平台下的TPC-D和TPC-C的世界记录。 四、客户端支持及应用模式  1. SQL Server C/S结构,只支持windows客户,可以用ADO、DAO、OLEDB、ODBC连接。 2. Oracle 多层次网络计算,支持多种工业标准,可以用ODBC、JDBC、OCI等网络客户连接。 五、操作简便  1. SQL Server 操作简单,但只有图形界面。 2. Oracle 较复杂,同时提供GUI和命令行,在windowsNT和unix下操作相同。 六、使用风险 1. SQL server 完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。并不十分兼容。 2. Oracle 长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。 最后价格上 ORACLE贵过SQLSRVER 

ORACLE, MYSQL 和 SQL SERVER之区别

MySql数据库 :
优点: 1.支持5000万条记录的数据仓库
2.适应于所有的平台
3.是开源软件,版本更新较快
4.性能很出色。纯粹就性能而言,MySQL是相当出色的,因为它包含一个缺省桌面格式MyISAM。MyISAM数据库 与磁盘非常地兼容而不占用过多的CPU和内存。MySQL可以运行于Windows 系统而不会发生冲突,在UNIX或类似UNIX系统上运行则更好。你还可以通过使用64位处理器来获取额外的一些性能。因为MySQL在内部里很多时候都使用64位的整数处理。
5.价格便宜
缺点: 缺乏一些存储程序的功能,比如MyISAM引擎联支持交换功能

MsSqlserver数据库:
优点: 1.真正的客户机/服务器体系结构
2.图形化的用户界面,使系统管理和数据库管理更加直观、简单
3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地
4.与WinNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等,SQL Server也可以很好地与Microsoft BackOffice产品集成。
5.有很好的伸缩性,可以跨平台使用。
6.提供数据仓库功能,这个功能只在Oracle和其他 昂贵的DBMS中才有。

Oracle数据库:
优点: 1.Oracle的稳定性要比Sql server好。
2.Oracle在导数据工具sqlload.exe功能比Sqlserver的Bcp功能强大,Oracle可以按照条件把文本文件数据导入.
3.Oracle的安全机制比Sql server好。
4.Sql server的易用性和友好性方面要比Oracle好。
5.在处理大数据方面Oracle会更稳定一些。
6.Sql Server在数据导出方面功能更强一些。
7.处理速度方面比Oracle快一些,和两者的协议有关.
缺点: 价格昂贵

MySQL与Oracle的语法区别详细对比

Oracle和mysql的一些简单命令对比 
1) SQL> select to_char(sysdate,‘yyyy-mm-dd‘) from dual; 
  SQL> select to_char(sysdate,‘hh24-mi-ss‘) from dual; 
  mysql> select date_format(now(),‘%Y-%m-%d‘); 
  mysql> select time_format(now(),‘%H-%i-%S‘); 
  日期函数 
  增加一个月: 
  SQL> select to_char(add_months(to_date (‘20000101‘,‘yyyymmdd‘),1),‘yyyy-mm-dd‘) from dual; 
  结果:2000-02-01 
  SQL> select to_char(add_months(to_date(‘20000101‘,‘yyyymmdd‘),5),‘yyyy-mm-dd‘) from dual; 
  结果:2000-06-01 
  mysql> select date_add(‘2000-01-01‘,interval 1 month); 
  结果:2000-02-01 
  mysql> select date_add(‘2000-01-01‘,interval 5 month); 
  结果:2000-06-01 
  截取字符串: 
  SQL> select substr(‘abcdefg‘,1,5) from dual; 
  SQL> select substrb(‘abcdefg‘,1,5) from dual; 
  结果:abcdemysql> select substring(‘abcdefg‘,2,3); 
  结果:bcd 
  mysql> select mid(‘abcdefg‘,2,3); 
  结果:bcd 
  mysql> select substring(‘abcdefg‘,2); 
  结果:bcdefg 
  mysql> select substring(‘abcdefg‘ from 2); 
  结果:bcdefg 
2) 在MySQL中from 后的表如果是(select.......)这种,那么后面必须有别名 
3) 连接字符串在Oracle中用|| ,SqlServer中用+,MySQL中用concat(‘a‘,‘b‘,‘c‘)

4) 
在SqlServer中的写法:

declare @id varchar(50);
set @id=‘4028e4962c3df257012c3df3b4850001‘;
select * from sims_sample_detect where ID= @id; 

在MySQL中的写法:

set @a = 189;
select * from bc_article where id = @a //不用declare 

在Orcale中的写法:

5)MySQL存储过程:

DELIMITER $$
DROP PROCEDURE IF EXISTS `SIMS`.`transaction_delSampleInfo`$$
CREATE DEFINER=`root`@`%` PROCEDURE `transaction_delSampleInfo`(in sampleInfoId varchar(50))
BEGIN
start transaction;
update sims_sample_info set del=‘1‘ where ID = sampleInfoId;
update sims_sample_detect set del=‘1‘ where SAMPLE_ID_PARENT = sampleInfoId;
update sims_sample_detect_info set del=‘1‘ where DETECT_ID in(
select ID from sims_sample_detect where SAMPLE_ID_PARENT = sampleInfoId
);
commit;
END$$
DELIMITER ; 

变量名不能跟列名相同,否则效果为1=1,且MySQL不区分大小写。

6)mysql 游标 
mysql没有像orcale的动态游标,只有显示游标,例子如下:

DELIMITER $$
DROP PROCEDURE IF EXISTS `test`.`liyukun`$$
CREATE DEFINER=`ids`@`localhost` PROCEDURE `liyukun`(out z int)
BEGIN
declare count1 int;
DECLARE done INT DEFAULT 0;
declare v_haoma varchar(50);
declare v_yingyeting varchar(100);
DECLARE cur1 CURSOR FOR select haoma,yingyeting from eryue where id<2;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;
//这里和oracle有区别,Oracle的PL/SQL的指针有个隐性变
量%notfound,Mysql是通过一个Error handler的声明来进行判断的
OPEN cur1;
cur1: LOOP
FETCH cur1 INTO v_haoma,v_yingyeting;
IF done=1 THEN //如果没有数据了,则离开
LEAVE cur1;
ELSE
select count(*) into count1 from year2012 where haoma=v_haoma ;
if(count1=0) then
insert into year2012(haoma, yingyeting)
values(v_haoma,v_yingyeting);
else
set z = z+1;
update year2012 set eryue = ‘100‘ where haoma=v_haoma;
end if;
END IF;
END LOOP cur1;
CLOSE cur1;
END$$
DELIMITER ; 

执行:

call liyukun(@a);
select @a; 

7) mysql的group by 语句可以select 没有被分组的字段,如 
select id,name,age from A group by age 这样 
但是在orcale和sqlserver中是会报错的。这个取出的id,name所在的行是每个分组中的第一行数据。 
8)orcale用decode()来转换数据,mysql,sqlserver用case when: 
case t.DETECT_RESULT when ‘2402‘ then t.SAMPLEID end (必须有end) 
9)mysql: 两个select 出的数据相减: 
(COUNT(distinct(t.SAMPLEID))- 
CONVERT((COUNT(distinct(case t.DETECT_RESULT when ‘2402‘ then t.SAMPLEID end))), SIGNED)) AS NEGATIVE 
FROM `view_sims_for_report` t 
10)convert,cast用法 
mysql将varchar转为int 
convert(字段名, SIGNED) 
字符集转换 : CONVERT(xxx USING gb2312) 
类型转换和SQL Server一样,就是类型参数有点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型) 
可用的类型  
二进制,同带binary前缀的效果 : BINARY 
字符型,可带参数 : CHAR() 
日期 : DATE 
时间: TIME 
日期时间型 : DATETIME 
浮点数 : DECIMAL 
整数 : SIGNED 
无符号整数 : UNSIGNED 
11)如果从mysql数据库中取的时候没有乱码,而在Java的List中得到的是乱码的话,那么可能是SQL语句中的有字段不是 varchar的数据类型,这时需要转换convert(字段名, 类型)转换一下,Orcale则用ToChar函数 
12)Orcale的大字段用clob,图像用blob,clob字段在Hibernate的映射文件中用String就可以 
13) mysql,orcale,sqlserver 语句执行顺序 
开始->FROM子句->WHERE子句->GROUP BY子句->HAVING子句->ORDER BY子句->SELECT子句->LIMIT子句->最终结果 
每个子句执行后都会产生一个中间结果 ,供接下来的子句使用,如果不存在某个子句,就跳过。 
14) LPAD函数 
1在oracle的数据库里有个函数 LPAD(String a,int length,String addString). 
2作用:把addString添加到a的左边,length 是返回值的长度。 
3例子

A : SQL> select lpad(‘test‘,8,0) from dual;
LPAD(‘TEST‘,8,0)
----------------
0000test
B: select lpad(‘test‘,8) from dual;
LPAD(‘TEST‘,8)
--------------
test 注:不写最后一个参数,函数会默认在返回值左边加一个空格。
C: SQL> select lpad(‘test‘,2,0) from dual;
LPAD(‘TEST‘,2,0)
----------------
te
D:SQL> select lpad(‘test‘,3) from dual;
LPAD(‘TEST‘,3)
--------------
tes 

15)Orcale中没有TOP,是通过 
select * from (select * from A order by id desc) where rownum=1 
注:不能直接写 select * from A where rownum=1 order by id desc 因为语句执行的顺序是先where再order by ,如果这样写就无法按id的排序来取第一个了。 
不能写rownum=2或rownum>1这样,因为Orcale 默认必须包含第一条。 
如果非要取第二条的话,可以写成:

select * from (select id,rownum as row_num from lws_q_bl_result r where r.sample_id = ‘B10226072‘) where row_num=2 

16)Orcale,MySql while循环比较 
Orcale:

while num<10
loop
str := to_char(num);
num := num+1;
end loop; 

也可以:

for num in 1..10 --这样的缺陷是无法间隔取值
loop
str := to_char(num);
end loop; 

mysql:

while num<10
do
str := to_char(num);
num := num+1;
end while; 

17)orcale 生成唯一序列是 select sys.guid() from dual ,mysql是 select uuid() from dual

18)MySql和Orcale的ID自增 
MySql由于是在数据库中实现ID自增,所以如果想返回插入一条序列的该条ID,只能用如下方法:

public int insertSign(final SpaceSign sign) throws Exception {
try{
KeyHolder keyHolder = new GeneratedKeyHolder();
final String sql = "insert into space_sign(userId,userName,nickName,contentText,contentHtml,isPublic,commentCount,userIp,status,insertTime)" +
" values(?,?,?,?,?,?,?,?,?,?)";
template.update(new PreparedStatementCreator() {
public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
PreparedStatement ps = connection.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
ps.setInt(1, sign.getUserId());
ps.setString(2, sign.getUserName());
ps.setString(3, sign.getNickName());
ps.setString(4, sign.getContentText());
ps.setString(5, sign.getContentHtml());
ps.setInt(6, sign.getIsPublic());
ps.setInt(7,sign.getCommnetCount());
ps.setString(8, sign.getUserIp());
ps.setInt(9, sign.getStatus());
ps.setTimestamp(10, new java.sql.Timestamp(sign.getInsertTime().getTime()));
return ps;
}
}, keyHolder);
Long generatedId = keyHolder.getKey().longValue();
return generatedId.intValue();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
throw new SQLException("发表签名失败", e);
}
} 

由于Orcale的ID是在插入该条数据之前就通过select SEQ_BLOG_ID.nextval from dual 获得的,所以直接返回既可。ps:SEQ_BLOG_ID为在数据库中设置的sequence。

时间: 2024-11-08 19:03:28

你搞懂 ORACLE、 SQLSERVER、MYSQL与DB2的区别了吗的相关文章

hibernate4中oracle,sqlserver,mysql数据库的sql方言配置(SQL Dialects)

hibernate4中oracle,mysql,sqlserver数据库的sql方言配置(SQL Dialects) 数据库类型 Hibernate sql方言 DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB2 OS390 org.hibernate.dialect.DB2390Dialect PostgreSQL 8.1 org.hibernate.dialect.Po

彻底搞懂oracle的标量子查询

oracle标量子查询和自定义函数有时用起来比较方便,而且开发人员也经常使用,数据量小还无所谓,数据量大,往往存在性能问题. 以下测试帮助大家彻底搞懂标量子查询. SQL> create table a (id int,name varchar2(10)); Table created. SQL> create table b (id int,name varchar2(10)); Table created. SQL> insert into a values (1,'a1'); 1

C#连接Access、SQL Server、Oracle、MySQL、DB2和SyBase数据库的代码集

C#连接六类数据库的代码集 本文列出了C#连接Access.SQL Server.Oracle.MySQL.DB2和SyBase六种不同数据库的程序源码和需要注意的点. 1.C#连接Access 程序代码: Code using System.Data;using System.Data.OleDb; .. string strConnection="Provider=Microsoft.Jet.OleDb.4.0;"; strConnection+[email protected]&

Mybatis中oracle、mysql、db2、sql server的like模糊查询

<!-- oracle --> <select id="searchUserBySearchName" parameterType="java.lang.String" resultType="com.urm.entity.User"> select * from t_user where user_name like CONCAT('%',#{search_name},'%') </select> <!

Mybatis在oracle、mysql、db2、sql server的like模糊查询

<!-- oracle --> <select id="searchUserBySearchName" parameterType="java.lang.String" resultType="com.urm.entity.User"> select * from t_user where user_name like CONCAT('%',#{search_name},'%') </select> <!

oracle sqlserver mysql数据库分页

1.Mysql的limit用法 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能. Sql代码   SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数.LIMIT 接受一个或两个数字参数.参数必须是一个整数常量.如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数

Oracle与MySQL的几点区别

1.组函数用法规则 mysql中组函数在select语句中可以随意使用,但在oracle中如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是group by子句中的列否则报错 eg: select name,count(money) from user:这个放在mysql中没有问题在oracle中就有问题了. 2.自动增长的数据类型处理 MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值.ORACLE没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记

oracle和mysql的学习

Oracle和mysql的部分语法区别 一.WM_CONCAT对应GROUP_CONCAT; 二. ronum可用limit代替: 三.sys_guid()用uuid()代替 四.add_months(t2.maxTime,-12)用date_add(t2.maxTime,interval -12 month)代替: date_format(date,'%Y-%m-%d')-->oracle中的to_char(); str_to_date(date,'%Y-%m-%d')-->oracle中的

SqlServer 、Oracle 、MySql 的区别

一.sqlserver 优点: 易用性.适合分布式组织的可伸缩性.用于决策支持的数据仓库功能.与许多其他服务器软件紧密关联的集成性.良好的性价比等: 为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势.从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要.作为一个完备的数据库和数据分析包,SQLServer为快速开发新一代企业级商业应用程序.为企业赢得核心竞争优势打开了胜利之门.作为重要的基准测试可伸缩性和速度奖的记录保持者,SQLS