刚进公司接触到了Oracle,记录一下他们的区别,面试的时候也有问到过,而且上来就是千万级别的数据调优,嘻嘻,我只是一个3年java。题外话,甚至有一些公司会问我java跟C、python的区别,以及具体区别的例子,然后我如果回答上来了,他们会告诉我,这边只做后端而且只用java,笑嘻了
就本人最近的使用和了解,整理了一下:
基本区别、大小写敏感、事务、时间日期、分页、常用字段类型
基本区别
数据库类型:
Oracle是对象关系数据库管理系统(ORDBMS => 基于对象模型,存储数据及其方法,数据存储在对象中,用于存储复杂的数据)
MySQL是开源的关系数据库管理系统(RDBMS => 基于关系模型, 存储数据,数据存储在实体里面,用于处理比较简单的数据)
默认端口和用户名:
Oracle默认端口:1521 默认用户:system
MySQL默认端口:3306 默认用户:root
安全:
Oracle使用了许多安全功能(本地身份验证,外部身份验证,高级安全增强等)
MySQL使用三个参数来验证用户,即用户名,密码和位置
性能:
MySQL在读取和写入方面性能通常比Oracle高
并发:
Oracle支持大并发访问量,是OLTP(联机事务处理 => 事务性非常高的系统,一般都是高可用的在线系统。比如银行、电商)最好的工具
MySQL并发小,面对大访问量可以做分表分库优化
临时表:
Oracle默认所有会话内可见(可设置当前会话内或事务内可见),创建后需要显式删除。
MySQL只在当前会话可见,一旦会话关闭就自动删除。
大小写敏感
Oracle默认是大写,在双引号””下,大小写敏感
MySQL默认是小写,大小写不敏感
事务
Oracle默认不自动提交,需要用户手动提交
提交命令:
BEGIN:事务块开始的标志(要么全部执行成功,要么全部失败回滚)
COMMIT:提交事务(对数据库的修改是可见的)
ROLLBACK:取消尚未提交的事务,将数据库恢复到事务开始之前的状态
SAVEPOINT:在事务中创建一个保存点,在事务执行过程中可以回滚到该保存点
SET TRANSACTION:设置事务的属性(事务的隔离级别、读写权限等)
MySQL中innoDB支持事务,默认自动提交(关闭事务提交命令 => set AutoCommit = 0)
提交命令:
START TRANSACTION:开始事务
COMMIT:手动提交
时间日期
Oracle使用 DATE 数据类型来存储日期和时间
# 获取当前DATE
SELECT SYSDATE
# 格式 'yyyy-mm-dd hh24:mi:ss'
SELECT TO_CHAR(createDate, 'yyyy-mm-dd hh24:mi:ss') FROM tableName;
MySQL日期和时间通常使用 DATE,DATETIME,TIMESTAMP 数据类型存储
# 获取当前时间戳
select unix_timestamp()
# 获取当前日期 格式 'YYYY-MM-DD'
select date(now())
# 获取当前日期时间,格式 'YYYY-MM-DD hh:mm:ss'
select now()
分页
Oracle
# rownum从1开始
select * from
(select rownum rn, t.* from (select * from tableName order by id desc) t )
where rn>=1 and rn<=5;
MySQL
# 从第0条开始,取5条数据
select * from tableName order by id desc limit 0,5
常用字段类型
Oracle | MySQL | |
---|---|---|
数字 | NUMBER | int、bigint、decimal |
字符串 | CHAR、NCHAR、VARCHAR2、NVARCHAR2 | char、varchar |
日期 | DATE | date、time、datetime、timestamp |
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容