Mysql和Oracle的区别

主键:

MySql一般使用自动增长类型,在创建表的时候只要指定表的主键为auto increment,插入记录时就不需要再为主键添加记录了,主键会自动增长。Oracle中没有自动增长,主键一般使用序列,插入记录时将序列号的下一值付给该字段即可,只是ORM框架只是需要native主键生成策略即可。

•单引号的处理:

MySql里可以使用双引号来包起字符串,Oracle里要使用单引号包起字符串。

•分页查询:

这个应该是两者最明显的区别了,很多人都知道MySql中分页很简单,因为他有专门的关键字limit来实现分页查询;

但是Oracle里面没有这种关键字来实现分页查询的,所以它实现起来就比MySql要繁琐得多了,在每个结果集中只有一个rownum字段标明它的位置,并且只能用rownum<=某个数,不能用rownum>=某个数,因为ROWNUM是伪列,在使用时所以需要为ROWNUM取一个别名,变成逻辑列,然后来操作。select * from (select ROWNUM as num,A.* from (select * from test) A where ROWNUM <=40) where num >= 20; 这是这两者的最大的不同。

 

各种方法的区别:

1.数据类型

Oracle中的整型,number(),字符串类型,varchar2()

MySQL中的整型,int(),字符串类型,varchar()

2.日期

Oracle中的日期,to_date()字符串转日期,to_char()日期转字符串,last_day()月的最后一天,add_months()对指定的日期加上指定月,months_between()相差的月,next_day()返回给定日期第二天开始一周内

的指定周几的日期。

MySQL中的日期,date(),time(),timedate(),timestamp(),Year()

3.空值

MySQL中的null值处理,用ifnull(),一般用法ifnull(comm,0);

Oracle中的空值处理,用NVL()两个参数,NVL2()三个参数,其中null在Oracle中最大,在MySQL中最小

4.去空

MySQL中只有trim(),Oracle中有trim(),ltrim(),rtrim()

5.分组

group up在Oracle中后面要跟出现的所有字段名,MySQL中可以跟单独字段

posted @ 2019-01-04 10:14  茶小白  阅读(3585)  评论(0编辑  收藏  举报