在平时工作中使用这两个数据库的时候要多一些,这两数据库的使用方面存在的一些各自不同的地方,许多面试官也会问这两个的区别。所以,凭着自己的一些经验个感触,来说说这二者的区别。

  1. 使用的群众:MySql中小型数据库,开源的免费使用,轻便简单,当然也是初学者的最佳选择,市场使用率排在Oracle之后;Oracle大型数据库,需要高昂的价格,性能较好支持大并发大访问量,是联机事务处理(OLTP)的最好工具,所以市场的使用率也是相当高的。
  2. 安装使用时,对电脑的性能要求也是不一样的。MySql安装完后仅占100M多点的内存,不怎么耗费电脑资源。但是Oracle由于功能强大,安装完后会占用电脑3G的内存,并且运行时候所占电脑资源也是相当大的。
  3. 二者在使用时的区别:
  • 主键:

  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;

  这是这两者的最大的不同.
  • 长字符串的处理:

  Oracle有它独特的地方,数据类型有一个clob类型,此类型专门用于在insert或者update时候字符串长度大于等于4000个单字节时使用。所以在插入记录前一定要进行非空和长度的判断,不能为空的或者长度超出的都应该提出警告,返回上次操作。MySql就没有这样的数据类型。

  • 修改表的数据:

  Oracle数据库在使用表的数据操作时,需要用sql语句来执行,比如:select * from table for update;这样你才能对数据进行修改,修改完了之后记得点击提交事务按钮。MySql中修改或添加数据就简单得多了,直接就可以设置数据,点击refresh保存就好。

  这就是我个人在平时使用时,得到的一些切身感受,它们二者的区别肯定也不仅仅是这几点,总结得不是很全面。存在不对的地方希望大家给出意见。

MySql与Oracle的区别总结的更多相关文章

  1. 转载文章 MySQL与Oracle的区别

    MySQL与Oracle的区别   1.  Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高 ...

  2. mysql和 oracle 的区别

    垂直拆分: 把一个数据库中不同业务单元的数据分到不同的数据库里面.水平拆分: 根据一定的规则把同一业务单元的数据拆分到多个数据库中. 读写分离 主:写 从:查 ==================== ...

  3. MySQL与Oracle的区别

    1.语法上的区别 变量类型定义.IN  OUT的位置.变量定义的位置.游标的位置.异常的位置: 2.MySQL没有 return 关键字,采用leave label的方式结束循环或跳出存储 3.异常处 ...

  4. 开发中mysql和oracle的区别

    首先就不描述mysql与oracle在整个数据库系统上的区别了,仅从程序员开发的角度来说: 1.主键: mysql一般会用到一个自增的属性,例如设置一个id字段,类型设置为auto increment ...

  5. MySQL和Oracle的区别与不同

    一.mysql与Oracle的相同点: 1.都是关系型数据库管理系统(MySQL开放源码) 2.都是目前很流行的数据库(Oracle以分布式为核心): 二.MySQL.Oracle各自特点: 1.Or ...

  6. Mysql 和Oracle rows 区别

    mysql> explain select t1.* from t2 ,t1 where t2.id=t1.id and t2.id<3;\ +----+-------------+--- ...

  7. MySql和Oracle数据库区别

    Oracle与mysql区别: 1.Oracle有表空间,mysql没有表空间. 2.mysql的char类型取值范围0-255字节,varchar为0-65535字节 3.oracle的char类型 ...

  8. MySQL和Oracle的区别

    由于SQL Server不常用,所以这里只针对MySQL数据库和Oracle数据库的区别 (1) 对事务的提交    MySQL默认是自动提交,而Oracle默认不自动提交,需要用户手动提交,需要在写 ...

  9. mysql与Oracle的区别:

    1.  Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高. 2. Oracle支持大并发,大 ...

随机推荐

  1. Java(接口与继承)动手动脑

    1>继承条件下的构造方法调用 运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改 Parent 构造方法的代码,显式调用 GrandParen ...

  2. sql server 按分组拼接数据

    SELECT B.id , LEFT(tempname, LEN(tempname) - 1) AS name FROM ( SELECT id , ( SELECT name + ',' FROM ...

  3. 转:HIBERNATE一些_方法_@注解_代码示例---写的非常好

    HIBERNATE一些_方法_@注解_代码示例操作数据库7步骤 : 1 创建一个SessionFactory对象 2 创建Session对象 3 开启事务Transaction : hibernate ...

  4. Linux中的输入重定向,变量

    1 :分号 格式:命令1:命令2;命令3 说明:命令之间用分号隔开是顺序执行,命令之间没有任何逻辑关系 2  &&  逻辑与 格式:命令1 && 命令2 说明:命令1正 ...

  5. POJ 1149PIGS 网络流 最大流

    PIGS Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 20421   Accepted: 9320 Description ...

  6. 漫谈Linux内核哈希表(1)

    关于哈希表,在内核里设计两个很重要的数据结构:    哈希链表节点: 点击(此处)折叠或打开 .x [include/linux/types.h]*/ struct hlist_node { stru ...

  7. win7+vs2010+opencv2.4.6配置

    记录一下配置,省的以后还到处去找: (一) 添加环境变量://第一次使用opencv的话需要加环境变量:” %opencv%\build\x86\vc10\bin”和”%opencv%\build\c ...

  8. qweb

    qweb 是 odoo的模板系统, 在 odoo系统中, 它有不同的用途和实现, 一个是 web client 的 widget 的渲染引擎, 它是通过 javascript实现的,也是 最早引入到 ...

  9. Html命名锚

    这个有什么用 案例 参考资料 这个有什么用 嘛, 不管写博客,还是公司的wiki,一般开头都会有个目录什么的, 这时候命名描就有用了, 所谓的描就是书签. 案例 比如这篇博客的目录,首先建立一个无序列 ...

  10. PoEduo - C++阶段班【Po学校】-Lesson03-5_运算符重载- 第7天

    PoEduo - Lesson03-5_运算符重载- 第7天 复习前面的知识点 空类会自动生成哪些默认函数 6个默认函数    1  构造  2  析构   3  赋值  4 拷贝构造  5 oper ...