mysql和oracle的不同

1、大小的区别

mysql是一个轻量级数据库,开源免费,无提供服务

oracle是一个重量级数据库,使用免费,服务收费(数据恢复、数据迁移)

2、事务的提交

mysql默认一条sql语句是一个事务可以关闭自动提交,手动提交

oracle没有自动提交需要手动提交

3、事务的隔离级别

mysql读已提交,当前事务进行操作时其他事务等待之后进行操作(排他锁)

oracle读未提交,当前事务进行操作时其他事务可以进行读取操作(共享锁)

4、存储方式

mysql数据以库形式进行存储,连接指定库读取指定库中数据

oracle以全局数据库存储,只拥有一个库,通过不同表空间进行表的存储与使用,根据连接的用户使用相应用户默认表空间中的数据

5、分页查询

mysql提供了分页关键字limit 可以快速对结果进行指定条数的获取

oracle没有提供分页关键字,而是通过子查询伪列rownum的形式进行指定条数的获取

6、自增

mysql提供了数值字段自增约束,进行添加时可以自增

oracle没有提供自增约束,需要定义序列在添加时使用 序列名.nextval进行赋值

7、数据类型

mysql中常用数据类型为数值:int、double / 字符型:varchar /日期 : dateTime、

oracle中常用数据类型为数值:number /字符型:varchar2/日期:date

8、非空判断

mysql如果使用not null可以存储空字符串

oracle的非空判断判断是否为null或空字符串

9、宕机处理

mysql在遇到突然性的状况时,当前处理根据事务回滚失败,并不会进行记录

oracle所有操作在日志中进行记录,可以在恢复后根据日志找回相应操作

10、备份

mysql在数据进行备份时锁定数据,不允许进行操作

oracle在数据进行备份时不影响其他事务操作,并且在备份结束后可以保证数据的一致性

11、 性能诊断

mysql的诊断调优方法较少,主要有慢查询日志。
oracle有各种成熟的性能诊断调优工具,能实现很多自动分析、诊断功能。比如awr、addm、sqltrace、tkproof等

12、权限与安全

mysql通过连接ip、账号、密码的形式进行校验,安全性相对较低,可能被模拟主机进行登录

oracle通过ip、账号、密码、权限、默认表空间进行连接与数据安全的校验

13、 单引号的处理

mysql里可以用双引号包起字符串也可以用单引号,ORACLE里只可以用单引号包起字符串。在使用数据库操作字符串时使用单引号作为字符串标识

14、模糊查询

mysql可以直接使用like进行模糊查询,oracle也可以,但考虑到索引,一般使用函数instr判断指定字符串在数据出现的位置>1则表示包含,但灵活性相较于like有所下降

15、别名

mysql对于字段与表书写别名时都可以省略as

oracle在书写字段时可以省略,但是对表起别名时不能书写as

起别名时不使用as

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值