面试题一: MySQL和Oracle区别有什么

218 阅读2分钟

1. 两个数据库的本质区别

MySQL是一个开源的关系数据库管理系统(RDBMS),它是世界上使用最多的RDBMS,作为服务器运行,提供多个数据库的多用户访问。它是一个开源、免费的数据库

Oracle是一个对象关系数据库管理系统(ORDBMS),它通常被称为OracleRDBMS或简称Oracle,支撑大并发大访问量,是一个大型数据库,收费且价格昂贵

两者安装所用的空间差别也是很大的,MySQL安装完后才100M+而Oracle却要3G+左右,而且MySQL占用的内存比与Oracle所用的内存小很多,而且Oracle还会占用其他机器性能

2. 在主键、单引号的处理等操作上也有一些不同

1) 主键
    MySQL一般使用自增长类型,在创建表时只要执行表的主键为auto_increment,插入记录时,主键值将会自动增长
    Oracle没有自增长类型,主键一般使用序列,插入记录时将序列号的下一个值付给该字段
2) 单引号处理
    MySQL数据库可以使用双引号包起字符串,而Oracle只可以使用单引号包起字符串

3. 查询方式

MySQL是在SQL语句中使用limit就可以实现分页
Oracle则需要使用到ROWNUM和嵌套查询

4. 对事物提交

MySQL默认是自动提交,可以修改为手动提交
Oracle默认不是自动提交,需要使用手动提交,需要写commit指令或点击commit按钮

5. 日期转换

MySQL中日期转换使用dateformat()函数
Oracle用to_date()与to_cher()两个函数

6. 数据库表现字段不同

MySQL:int、float、double等数值型,varcher、cher字符类型,date、datetime、time、year、timesteamp等日期类型
Oracle:number(数值型),varcher2、varcher、char(字符型),date(日期型)

7. 数据库的层次结构上

MySQL:默认用户是root,用户下可以创建多个数据库,每个数据库下还有好多表,一般是使用默认用户,不会创建多个用户
Oracle:创建一个数据库,数据下有很多用户:sys、system、scott等,不同用户下有很多表,一般情况下只能创建一个数据库