SQL Server VS Oracle VS MySQL

1.最直观的区别:从经济上来说,SQL Server 和Oracle 是收费的(商用),MySQL是开源的(轻量级数据库)。
2.简单说说使用上的区别:
1)Oracle和MySQL是跨平台的,SQL Server 只能在Windows平台上使用。
2) Oracle支持decode函数,另外两个不支持。

decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)

3) 分页查询(注意排序):
Oracle:关键字ROWNUM,嵌套查询

SELECT * FROM  
(  
SELECT A.*, ROWNUM RN  
FROM (SELECT * FROM TABLE_NAME) A  
)  
WHERE RN BETWEEN 11[该页的起始行] AND 20 [该页的终止行]

SQLServer:关键字TOP

SELECT  TOP  10[页大小]  *  
FROM  user_info  
WHERE  username  NOT IN(SELECT  top  10[页大小*页数] username  FROM  user_info)

返回从第11行开始的最多10行数据

MySQL:关键字limit

Select  *  from  tablename  limit  m,n
即为选择从m+1开始最多n行数据
Eg.select * from table limit 10,10
返回1120行数据

4)MySQL和SQL Server有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。Oracle没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。Oracle中需要创建sequence 然后为表设置触发器。
详见https://blog.csdn.net/chinajash/article/details/1430030
5)获取当前时间
Oracle:SYSDATE返回当前日期时间
SQLServer:getdate()返回当前日期时间
MySQL :NOW()返回当前日期时间 ,CURDATE()返回当前日期,CURTIME()返回当前时间

暂且列这些,边用边发现吧,目前主要用Oracle。

猜你喜欢

转载自blog.csdn.net/u012485480/article/details/80086531