一、列类型区别 Oracle支持多种类型,如可变长度varchar2、浮点型number、小数浮点型number(m,n),可变二进制数据raw,大对象类型lob(最大4G)。而MySQL提供可变长度varchar、浮点型float、double、小数decimal(m,n),可变二进制数据blob。二、约束 Oracle除了NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY和...
oracle 和mysql 一些区别总结
一、列类型区别
Oracle支持多种类型,如可变长度varchar2、浮点型number、小数浮点型number(m,n),可变二进制数据raw,大对象类型lob(最大4G)。而MySQL提供可变长度varchar、浮点型float、double、小数decimal(m,n),可变二进制数据blob。
二、约束
Oracle除了NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY和CHECK约束,还提供了检查约束,如:constraint gen_ch check(gender in ('male','female'))。
三、序列与同义词
Oracle使用序列来生成唯一ID,而MySQL则使用自增AUTO_INCREMENT。Oracle通过别名创建同义词,如create synonym t for a.table;MySQL使用别名显示字段,如select * from table as t。
四、查询表与列别名
Oracle在没有表的情况下需使用dual,而MySQL直接使用limit进行分页。MySQL支持列别名,如select column as c from table。
五、分页与全外连接
Oracle使用虚拟列rownum进行分页,而MySQL使用limit。Oracle支持全外连接,MySQL不支持。
六、索引
Oracle提供了查询索引的工具,如select * from user_ind_columns;MySQL则通过show create table t获取相关信息。
七、事务
Oracle默认情况下不允许不使用事务,MySQL则需要手动设置,如start transaction。
八、PL/SQL
Oracle的PL/SQL提供了比MySQL更多的功能和特性,如储存过程、函数的关键词is。
九、游标与触发器
Oracle的游标提供了更多功能,如c%isopen、c%rowcount、c%found、c%notfound等属性;MySQL的触发器使用new表示新数据。
十、PHP连接数据库
MySQL使用mysqli扩展,而Oracle则使用oci8扩展。2024-09-29