Oracle和Mysql操作上的一些区别
Oracle和Mysql操作上的一些区别:
1、主键
Mysql一般使用自动增长类型,在创建表时只要指定表的主键为auto_increment,插入记录时,不需要再指定该记录的主键值,Mysql将自动增长;Oracle没有自动增长类型;
2、第三方数据库管理工具
Mysql使用sql yog、Navicat for MySQL、MySQL Workbench(mysql 所在公司开发)
Oracle使用PL/SQL Developer 、pl/sql plus(oracle安装时自带)
3、结果集行数限制-分页查询
Mysql使用limit关键字实现;
Oracle使用ROWNUM关键字实现。
Oracle中ROWNUM不是某个表中的字段名,而是从一个表中查询数据时,oracle系统自动为查询结果返回的行按顺序的给出的编号;
ORACLE写法如下:
3.1 rownum对于小于某值的查询条件的处理
3.2 rownum对于大于某值的查询条件的处理
可以使用子查询方法来解决,需要注意的是,子查询中的rownum必须要定义别名,因为rownum不是某个表的列,如果不给定别名的话,无法知道rownum是子查询的列还 是主查询的列。
4、数据类型比较
4.1 Mysql中的set类型和enum类型,oracle不支持。
4.2 Oracle中的NUMBER类型,可以用来表示mysql中int型和decimal类型。
比如:DECIMAL就是NUMBER(10,2)这样的结构INT(10)就是是NUMBER(10),表示整型;
MYSQL有很多类int型,tinyint mediumint
bigint等,不同的int宽度不一样;
4.3 Oracle中的date类型,相当于mysql中的datetime类型
5、多表查询全连接的区别
Mysql的全连接:
说明:mysql利用左连接和右连接分别查询出左右两边的数据,
然后利用union去掉两边都有的重复数据,并合并查询结果。
ORACLE的全连接:
6、引号的用法区别
Mysql单引号和双引号都可以使用。
Oracle 默认支持单引号。