mysql和oracle数据库的区别与联系(值得收藏)

1、mysql和oracle都是关系型数据库。

mysql默认端口:3306 默认用户root

oracle默认端口 1521 默认用户system

mysql的安装配置和卸载简单,oracle比较麻烦,严重的可能要你重做系统。

oracle在命令行用命令登陆:sqlplus---然后录入账号密码

mysql在命令行用命令登陆: mysql -hlocalhost -uroot -p123456

2、在初学阶段,用图形化工具,oracle 一般用PLSQL ,mysql 一般用navicat。假如别的你用着习惯比如sqlyog小海豚啥的当然也没有问题。

3、关于数据库的层次结构:

oracle:创建一个数据库,数据库下有好多用户:sys,system,scott等,不同用户下还有好多表。我们自己练习一般就创建一个数据库用。

mysql:默认用户是root,用户下可以创建好多数据库,每个数据库下还有好多表。我们一般自己练习就用默认用户,不会创建多个用户。

4、数据库中表字段的类型:

oracle数据库:number(数值型),varchar2,varchar,char (字符型),date 日期型 等

mysql数据库:int,float,double等数值型,varchar,char字符型,date,datetime,time,year,timestamp等日期型。

其中char(2)这样定义,这个单位在oracle中2代表两个字节,mysql中代表两个字符。

其中varchar在mysql中 必须给长度例如varchar(10) 不然插入的时候出错。

5、主键递增操作:

oracle数据库:可以借助序列

mysql数据库:有主键自增 auto_increment

6、分页:

(1)oracle分页比较复杂:

比如我们要查询:第11-20条记录

select * from

(select rownum rr,a.* from (select * from emp order by sal) a )

where rr>10 and rr<=20;

(2)mysql分页比较简单:

select * from category where category_id limit 10,5

10,5含义:索引是从0开始,所以10代表的是第11条记录,从第11条记录开始,取5条数据。

7、事务

oracle很早就完全支持事务。mysql在innodb存储引擎的行级锁的情况下才支持事务。

8、并发性

并发性是OLTP(联机事务处理过程)数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。

mysql:mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁。

oracle:oracle使用行级锁,对资源锁定的粒度要小很多,只是锁定sql需要的资源,并且加锁是在数据库中的数据行上,不依赖与索引。所以oracle对并发性的支持要好很多

9、一致性

oracle:oracle支持serializable的隔离级别,可以实现最高级别的读一致性。每个session提交后其他session才能看到提交的更改。oracle通过在undo表空间中构造多版本数据块来实现读一致性,每个session查询时,如果对应的数据块发生变化,oracle会在undo表空间中为这个session构造它查询时的旧的数据块。

mysql:mysql没有类似oracle的构造多版本数据块的机制,只支持read commited的隔离级别。一个session读取数据时,其他session不能更改数据,但可以在表最后插入数据。session更新数据时,要加上排它锁,其他session无法访问数据。

10、提交方式

oracle默认不自动提交,需要用户手动提交。mysql默认是自动提交。

其他:

Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高。

Oracle支持大并发,大访问量,是OLTP(On-Line Transaction Processing联机事务处理系统)最好的工具。

安装所用的空间差别也是很大的,Mysql安装完后才152M而Oracle有3G左右,且使用的时候Oracle占用特别大的内存空间和其他机器性能。

安全性

Oracle数据库提供了一系列安全功能,如高级的访问控制、加密和审计能力,这些对于要求严格合规性的企业环境至关重要。

备份和恢复

Oracle数据库拥有强大的备份和恢复功能,包括热备份、闪回查询和数据泵等,这些功能可以让企业快速恢复数据并减少宕机时间。MySQL可能需要额外的第三方工具或脚本。

事务管理

Oracle提供了非常先进的事务管理功能,支持可靠的ACID(原子性、一致性、隔离性、持久性)属性以确保数据完整性。Oracle的事务控制能力很适合处理高并发的大型系统。MySQL也支持ACID事务,但在早期版本中它是通过引擎如InnoDB来提供的。

编程语言

两个数据库系统都支持SQL(结构化查询语言)的多种方言,但是Oracle拥有自己的PL/SQL,这是一个对SQL进行扩展的过程化编程语言,允许在数据库中编写复杂的存储过程和函数。MySQL使用的是不太复杂的SQL方言,并支持存储过程,但其编程功能不如PL/SQL强大。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/729359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

react hook: useimperativeHandle

通过 useImperativeHandle&#xff0c;子组件可以选择性地暴露给父组件某些属性或方法&#xff0c;而不是将所有属性和方法暴露出去。 父组件 获得自组件的 ref&#xff0c;就能通过该 ref 来调用 focus来聚焦等功能 在 forwardRef 包装的组件中&#xff0c;ref 固定地是第二个…

第四篇【传奇开心果系列】Python的自动化办公库技术点案例示例:深度解读Pandas生物信息学领域应用

传奇开心果博文系列 系列博文目录Python的自动化办公库技术点案例示例系列 博文目录前言一、Pandas生物学数据操作应用介绍二、数据加载与清洗示例代码三、数据分析与统计示例代码四、数据可视化示例代码五、基因组数据分析示例代码六、蛋白质数据分析示例代码七、生物医学图像…

Java面试之消息中间件

消息队列 优缺点 特点 解耦异步削峰缺点 系统可用性降低 兜底:代码中try、catch 异常捕捉后直接进行数据库操作,或者 搭建高可用集群,Kafka集群、RocketMQ集群提高复杂度 消息重复(消费端的幂等性设计)、消息丢失(主要集中RabbitMQ)、消息的顺序(业务:1,下单 2,支付 3,发…

STM32/GD32——电源管理单元PWU

芯片选型 Ciga Device — GD32F470系列 PWU介绍 PMU全称Power Management Unit&#xff0c;电源管理单元。 电源域 总共有三大电源域&#xff0c;包括VDD / VDDA域&#xff0c;1.2V域和备份域。 VDD/VDDA 域 提供PMU 常规电源供应以下模块的供电&#xff1a; 看门狗主频晶…

Spring笔记——Bean的生命周期

Spring其实就是一个管理Bean对象的工厂&#xff0c;它负责对象的创建&#xff0c;对象的销毁等。生命周期的本质是&#xff1a;在哪个时间节点上调用了哪个类的哪个方法。我们可能需要在某个特殊的时间点上执行一段特定的代码&#xff0c;因此要了解在这个生命线上有哪些特殊时…

YoloV8改进策略:Block改进|自研Block,涨点超猛|代码详解|附结构图

涨点效果 涨点效果:在我自己的数据集上,mAP50 由0.986涨到了0.993,mAP50-95由0.737涨到0.757,涨点明显! 参考模型 参考的Block,如下图: 我对Block做了修改,修改后的结构图如下: 代码详解 from timm.models.layers import DropPathfrom torch import Tensor def …

C++设计模式-工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式)

本文讲解C++设计模式-工厂方法模式 目录 概述 简单工厂模式 工厂方法模式 抽象工厂模式 概述 工厂模式属于创建型模式,大致可以分为三类&#x

代码随想录算法训练营第34天—动态规划02 | ● 62.不同路径 ● *63. 不同路径 II

62.不同路径 https://programmercarl.com/0062.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84.html 视频讲解&#xff1a;https://www.bilibili.com/video/BV1ve4y1x7Eu 考点 二维动规 我的思路 当前位置的路线总数为左位置和上位置的路线数之和 视频讲解关键点总结 我的思路没问题&…

如何学习ChatGPT?从入门到精通(附资料下载)

2023 ChatGPT从入门到精通视频教程&#xff08;共30课&#xff09;.zip 学习ChatGPT需要涉及多个层面&#xff0c;包括理解其基本原理、掌握相关技术、以及进行实际的项目应用。以下是一些具体的学习步骤和建议&#xff1a; 理解ChatGPT的基本原理&#xff1a; 深入了解ChatGP…

AI数字虚拟人来了你会失业吗?

AI数字虚拟人是一种由人工智能技术驱动的虚拟实体&#xff0c;以及通过语音和图像等界面与人进行交互。它可以模拟人的外貌、声音和行为&#xff0c;并能回答问题、提供信息和执行特定任务。AI数字虚拟人已经开始在各个领域得到广泛应用&#xff0c;例如客户服务、教育、医疗保…

MySQL的连接池原理和架构雏形

实际上没什么好说的&#xff0c;这里只是简单总结一下连接池原理&#xff0c;顺便梳理下一个用户注册和登录的过程&#xff0c;进一步带您理解一些业务逻辑。 预先设置好连接池内的正在等待的执行单元&#xff08;进程/线程&#xff09;&#xff0c;每个执行单元保持和 MySQL …

Java二级--操作题详解(1)

目录 1.第一套&#xff1a; 1.1 基本操作&#xff1a; 1.2 题解分析&#xff1a; 2.1 简单应用&#xff1a; 2.2 解题分析&#xff1a; 3.1 综合应用&#xff1a; 3.2解题分析&#xff1a; 1.第一套&#xff1a; 1.1 基本操作&#xff1a; 在考生文件夹中存有文件名为J…

Facebook商城号防封养号技巧,速看

由于Facebook商城的高利润空间&#xff0c;越来越多的跨境电商商家注意到它的存在。Facebook作为全球最大、用户量最大的社媒平台&#xff0c;同时也孕育了一个巨大的商业生态&#xff0c;包括广告投放、商城交易等。依托背后的大流量&#xff0c;Facebook商城起号较快&#xf…

【李沐精读系列】GPT、GPT-2和GPT-3论文精读

论文&#xff1a; GPT&#xff1a;Improving Language Understanding by Generative Pre-Training GTP-2&#xff1a;Language Models are Unsupervised Multitask Learners GPT-3&#xff1a;Language Models are Few-Shot Learners 参考&#xff1a;GPT、GPT-2、GPT-3论文精读…

MaterialApp

MaterialApp 是 flutter 中提供入口的一个类&#xff0c;是符合Material Design设计理念的入口Widget,使用 theme 属性来为整个 MaterialApp 设置主题。可以在这里设置路由,后续用到再详细学习。debugShowCheckedModeBanner属性经常提到&#xff0c;设置他为True后&#xff0c;…

Linux权限系统深度解析

Linux操作系统的权限管理对于维护系统安全和稳定性至关重要。本文将通过详细的语法说明和实际案例&#xff0c;深入探讨Linux权限系统的工作原理及其应用。 权限基础 Linux文件和目录的权限分为三类&#xff1a;读&#xff08;r&#xff09;、写&#xff08;w&#xff09;、执…

JavaScript高级Ⅰ(自认为很全面版)

目录 第1章 BOM编程 1.1 BOM编程概述 1.1.1 BOM编程的概念 1.1.2 BOM编程的作用 1.1.3 BOM常用的对象 1.2 window对象 1.2.1 JS三个弹框(了解) 代码演示&#xff1a; 运行效果&#xff1a; 1.2.2 JS两个定时器 代码演示&#xff1a; 运行效果&#xff1a; 1.2.3 案…

机器学习——向量化

通常各种编程语言里&#xff0c;都有对应的各种线性代数库&#xff0c;我们可以利用现成的代数库来快速的求解我们想要的结果&#xff0c;也就是说&#xff0c;通过代数库&#xff0c;会让我们可以用更少的代码&#xff0c;更高的效率实现需求&#xff0c;这就是向量化的作用 …

(黑马出品_05)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

&#xff08;黑马出品_05&#xff09;SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术分布式搜索 今日目标1.初识elasticsearch1.1.了解ES1.1.1.elasticsearch的作用1.1.2.ELK技术栈1.1.3.elasticsearch和lucene1.1.4.为什么不是其他搜索技…

go语言基础 -- 文件操作

基础的文件操作方法 go里面的文件操作封装在os包里面的File结构体中&#xff0c;要用的时候最好去查下官方文档&#xff0c;这里介绍下基本的文件操作。 打开关闭文件 import("os" ) func main() {// Open返回*File指针&#xff0c;后续的操作都通过*File对象操作…