1、mysql与oracle都是关系型数据库,应用于各种平台。
mysql开源免费的,而oracle则是收费的,并且价格非常高。
2、管理工具上
mysql的管理工具较少,在Linux下的管理工具的安装有时需要安装额外的包(phpmyadmin,etc),有一定复杂性。
oracle有多重成熟命令行、图形界面、web管理工具,还有很多第三方的管理工具,管理极其方便高效。oracle支持大并发,大访问量,是OLTP最好的工具。
3、数据库的层次结构上
mysql:默认用户是root,用户下可以创建好多数据库,每个数据库下还有好多表,一般情况下都是使用默认用户,不会创建多个用户;
oracle:创建一个数据库,数据库下有好多用户:sys、system、scott等,不同用户下有好多表,一般情况下只创建一个数据库用。
4、数据库中表字段类型:
mysql:int、float、double等数值型,varchar、char字符型,date、datetime、time、year、timestamp等日期型。
oracle:number(数值型),varchar2、varchar、char(字符型),date(日期型)等…
5、主键
mysql一般使用自动增长类型,在创建表时只要指定表的主键autoincrement,插入记录时,不需要再指定该记录的主键值,mysql将自动增长。
oracle没有自动增长类型,主键一般使用的序列,插入记录时将序列号的下一个值赋给该字段即可,只是ORM框架是只要是native主键生成策略即可。
6、单引号处理
mysql里可以用双引号包起字符串,oracle只可以用单引号包起字符串。
7、查询方式
mysql是直接在SQL语句中使用limit就可以实现分页
oracle则是需要用到伪劣ROWNUM和嵌套查询
8、对事务提交
mysql默认是自动提交,可以修改为手动提交
oracle默认不自动提交,需要手动提交,需要在写