为何要使用MySQL?MySQL和Oracle的区别有什么?

news2024/9/24 19:24:59

在这里插入图片描述

目录

    • 一、为何要使用MySQL?
    • 二、MySQL学习路线
    • 三、数据库相关概念
      • 1、DB,数据库Database。
      • 2、DBMS,数据库管理系统Database Management System。
      • 3、SQL,结构化查询语言,Structured Query Language。
    • 四、常见的关系型数据库
      • 1、MySQL
      • 2、Oracle
      • 3、SQL Server
      • 4、PostgreSQL
    • 五、MySQL和Oracle的区别
      • 1、MySQL免费,Oracle是收费的,而且非常贵;
      • 2、MySQL体积小,速度快、成本低,一般中小型企业都会选择MySQL;Oracle更适合大型项目,适合大型互联网公司使用,Oracle的性能和安全性更高一些;
      • 3、数据安全性
      • 4、MySQL和Oracle的字符数据类型不同,对于字符类型
      • 5、临时表的区别
      • 6、MySQL和Oracle中的备份类型
    • 六、MySQL发展历程

大家好,我是哪吒。

一、为何要使用MySQL?

MySQL是一种流行的开源关系型数据库。

MySQL有以下几个优势:

  1. 开源免费;
  2. 跨平台性,MySQL可以运行在各种系统上,比如Windows、Linux、Mac,让它适合作为跨平台应用程序的数据库;
  3. 高可靠性,支持事务、数据备份、恢复等功能,保证数据的高可靠性;
  4. 高性能,具备高效的数据处理能力和并发控制机制,支持大量的数据读写操作;
  5. 安全性,MySQL支持用户名密码验证,保证数据安全,提供加密传输、IP白名单等安全功能,加强了数据的保护;

综上所述,MySQL是一款免费的、跨平台性、高可靠性、高性能、安全性高的关系型数据库。

将数据存储到MySQL,也称为数据持久化,数据持久化意味着将内存中的数据保存到硬盘上存储,保证程序重启之后的数据不丢失。

二、MySQL学习路线

在这里插入图片描述

三、数据库相关概念

1、DB,数据库Database。

存储数据的仓库,其本质是一个文件系统。

2、DBMS,数据库管理系统Database Management System。

DBMS是一种操作数据和管理数据的软件系统,用于存储、使用、维护、管理、监控的一体化数据管理工具。

3、SQL,结构化查询语言,Structured Query Language。

专门用来与数据库通信的语言。

四、常见的关系型数据库

1、MySQL

MySQL是一个流行的开源关系型数据库管理系统,由Oracle公司维护。它具有良好的性能、可伸缩性和安全性,并被广泛应用于Web应用程序和企业级应用程序等领域。

2、Oracle

Oracle数据库是一种商业级的关系型数据库管理系统,由Oracle公司维护。它具有高度的可靠性和扩展性,并且支持多种操作系统和平台。

3、SQL Server

SQL Server是微软公司的关系型数据库管理系统,它针对Windows平台进行了优化,提供了高度的可靠性和安全性,并且与其他微软产品具有良好的集成性。

4、PostgreSQL

PostgreSQL是一种免费的开源关系型数据库管理系统,它具有良好的性能和可扩展性,支持高级特性如复制、分区和自定义函数等。

五、MySQL和Oracle的区别

一般情况下,MySQL和Oracle是用的最多的数据库,MySQL和Oracle最大的区别在于

1、MySQL免费,Oracle是收费的,而且非常贵;

2、MySQL体积小,速度快、成本低,一般中小型企业都会选择MySQL;Oracle更适合大型项目,适合大型互联网公司使用,Oracle的性能和安全性更高一些;

3、数据安全性

MySQL使用三个参数来验证用户,即用户名,密码和位置;Oracle使用了许多安全功能,如用户名,密码,配置文件,本地身份验证,外部身份验证,高级安全增强功能等。

4、MySQL和Oracle的字符数据类型不同,对于字符类型

MySQL具有CHAR和VARCHAR,最大长度允许为65,535字节;Oracle支持四种字符类型,即CHAR,NCHAR,VARCHAR2和NVARCHAR2; 所有四种字符类型都需要至少1个字节长; CHAR和NCHAR最大可以是2000个字节,NVARCHAR2和VARCHAR2的最大限制是4000个字节。可能会在最新版本中进行扩展。

5、临时表的区别

在MySQL中,临时表是仅对当前用户会话可见的数据库对象,并且一旦会话结束,这些表将自动删除。Oracle中临时表的定义与MySQL略有不同,因为临时表一旦创建就会存在,直到它们被显式删除,并且对具有适当权限的所有会话都可见。但是,临时表中的数据仅对将数据插入表中的用户会话可见,并且数据可能在事务或用户会话期间持续存在。

6、MySQL和Oracle中的备份类型

Oracle提供不同类型的备份工具,如冷备份,热备份,导出,导入,数据泵。Oracle提供了最流行的称为Recovery Manager(RMAN)的备份实用程序。使用RMAN,我们可以使用极少的命令或存储脚本自动化我们的备份调度和恢复数据库。

MySQL有mysqldump和mysqlhotcopy备份工具。在MySQL中没有像RMAN这样的实用程序。

六、MySQL发展历程

MySQL的历史可以追溯到1979年,一个名为Monty Widenius的程序员在为TcX的小公司打工,并且用BASIC设计了一个报表工具,使其可以在4MHz主频和16KB内存的计算机上运行。当时,这只是一个很底层的且仅面向报表的存储引擎,名叫Unireg。

1990年,TcX公司的客户中开始有人要求为他的API提供SQL支持。Monty直接借助于mSQL的代码,将它集成到自己的存储引擎中。令人失望的是,效果并不太令人满意,决心自己重写一个SQL支持。

1996年,MySQL 1.0发布,它只面向一小拨人,相当于内部发布。到了1996年10月,MySQL 3.11.1发布(MySQL没有2.x版本),最开始只提供Solaris下的二进制版本。一个月后,Linux版本出现了。在接下来的两年里,MySQL被依次移植到各个平台。

1999~2000年,MySQL AB公司在瑞典成立。Monty雇了几个人与Sleepycat合作,开发出了Berkeley DB引擎, 由于BDB支持事务处理,因此MySQL从此开始支持事务处理了。

2000,MySQL不仅公布自己的源代码,并采用GPL(GNU General Public License)许可协议,正式进入开源世界。同年4月,MySQL对旧的存储引擎ISAM进行了整理,将其命名为MyISAM。

2001年,集成Heikki Tuuri的存储引擎InnoDB,这个引擎不仅能持事务处理,并且支持行级锁。后来该引擎被证明是最为成功的MySQL事务存储引擎。MySQL与InnoDB的正式结合版本是4.0

2003年12月,MySQL 5.0版本发布,提供了视图、存储过程等功能。

2008年1月,MySQL AB公司被Sun公司以10亿美金收购,MySQL数据库进入Sun时代。在Sun时代,Sun公司对其进行了大量的推广、优化、Bug修复等工作。

2008年11月,MySQL 5.1发布,它提供了分区、事件管理,以及基于行的复制和基于磁盘的NDB集群系统,同时修复了大量的Bug。

2009年4月,Oracle公司以74亿美元收购Sun公司,自此MySQL数据库进入Oracle时代,而其第三方的存储引擎InnoDB早在2005年就被Oracle公司收购。

2010年12月,MySQL 5.5发布,其主要新特性包括半同步的复制及对SIGNAL/RESIGNAL的异常处理功能的支持,最重要的是InnoDB存储引擎终于变为当前MySQL的默认存储引擎。MySQL 5.5不是时隔两年后的一次简单的版本更新,而是加强了MySQL各个方面在企业级的特性。Oracle公司同时也承诺MySQL 5.5和未来版本仍是采用GPL授权的开源产品。

MySQL由于它的开源性被广泛传播,也让更多的人了解到这个数据库。它的历史也富有传奇性。在这里仅是作为一个故事讲解了MySQL的发展史,在网上很多版本也会有不同。伴随着更多的技术开发人员加入到MySQL的开发中,不断完善,发展会越来越好。

在这里插入图片描述

🏆本文收录于,数据库基础教程系列,包含MySQL基础、MySQL进阶、Redis、MongoDB等数据库基础知识。

🏆哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师。

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

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

相关文章

SpringCloud_Config配置中心和Bus消息总线和Stream消息驱动

文章目录 一、SpringCloudConfig配置中心1、SpringCloudConfig配置中心的概论2、SpringCloudConfig配置中心的gitee仓库搭建3、SpringCloudConfig配置中心服务端的搭建4、SpringCloudConfig配置中心客户端的的搭建5、SpringCloudConfig配置中心客户端动态刷新配置文件 二、Spri…

如何用ChatGPT做品牌联名方案策划?

该场景对应的关键词库(15个): 品牌、个人IP、社交话题、联名策划方案、调研分析、市场影响力、资源互补性、产品体验、传播话题、视觉形象设计、合作职权分配、销售转化、曝光目标、宣发渠道、品牌形象 提问模板(1个)…

Milvus应用开发实战【语义搜索】

美国总统竞选活动即将到来。 现在是回顾拜登政府上任头两年的一些演讲的好时机。 搜索一些演讲记录以了解更多关于白宫迄今为止关于某些主题的信息不是很好吗? 假设我们要搜索演讲的内容。 我们该怎么做? 我们可以使用语义搜索。 语义搜索是目前人工智能…

【谷粒商城之分布式锁Redisson-lock】

本笔记内容为尚硅谷谷粒商城分布式锁Redisson-lock部分 目录 一、分布式锁与本地锁 二、分布式锁实现 使用 RedisTemplate 操作分布式锁 三、Redisson 完成分布式锁 1、简介 2、导入依赖 3、配置 4、使用 1.可重入锁 2.公平锁(Fair Lock) 3…

记录-VUE中常用的4种高级方法

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1. provide/inject provide/inject 是 Vue.js 中用于跨组件传递数据的一种高级技术,它可以将数据注入到一个组件中,然后让它的所有子孙组件都可以访问到这个数据。通常情况下&a…

DC-8通关详解

信息收集 漏洞发现 找个扫描器扫一下 msf试了几个exp都没用 那么手动找找 发现传参nid出存在sql注入 python sqlmap -u "http://192.168.45.144:80/?nid1" --union-cols1 -D d7db -T users -C name,pass --columns --tables --dump 用john爆密码 admin爆了20分钟没…

为Linux系统添加一块新硬盘,并扩展根目录容量

我的原来ubuntu20.04系统装的时候不是LVM格式的分区, 所以先将新硬盘转成LVM,再将原来的系统dd到新硬盘,从新硬盘的分区启动,之后再将原来的分区转成LVM,在融入进来 1:将新硬盘制作成 LVM分区 我的新硬盘…

Python进阶

1.Json数据格式(用于不同语言的数据交互) 特定格式的字符串 第一种形式的Json ,转换成字典 第二种形式的Json,转换成字典列表 1.1 Python的Json转化 dumps 方法 Python转Json loads 方法 Json转Python 1.2 字典转json 需要…

Studio One6Mac中文免费版数字音乐工作站DAW

无论你是第一次接触数字音乐工作站(DAW),还是第一次尝试 制作属于自己的音乐,Studio One 都能给你非凡的体验!Studio One 6中文版是一款音乐制作软件,通过新的智能模板、直观的拖放工作流、可定制的用户界面…

C# 使用自带的组件PrintPreviewDialog 和 PrintDocument实现打印预览(一)

文章目录 前言相关内容了解打印预览功能1 创建winform工程2 创建要打印的测试数据3 绘制打印页绘制页脚绘制内容PrintPage事件 完整的代码工程小节 前言 有这么个需求:DataTable中有一些数据是需要给显示或直接可以连接打印机进行打印的, 查阅了一下资料…

jenkins共享ci阶段

jenkins共享ci阶段 需求 一个产品包含多个服务,这些服务的流水线都是类似的:制作制品构建并推送镜像构建并推送chart包触发自动部署。我们期望将流水线拆分为ci流水线、cd流水线,ci流水线包含:制作制品构建并推送镜像构建并推送…

蓝牙协议栈之L2CAP使用

目录 前言一、逻辑链路层及自适应协议层(L2CAP)二、常用的L2CAP术语三、L2CAP的工作模式四、L2CAP通道五、L2CAP帧类型六、Fragmentation/Recombination七、Segmentation/Reassembly八、L2CAP MTU九、Controller to Host Flow Control十、总结 前言 本文…

七个值得推荐的物联网分析平台

物联网分析平台是一种软件工具,可以帮助企业收集和分析来自其广泛的物联网设备的数据。企业可以通过物联网收集大量数据,从消费者支出模式到流量使用,物联网数据分析平台在帮助企业获得竞争优势所需的洞察力方面至关重要。 物联网分析平台已…

「2023 最新」 Github、Gitlab Git 工作流「常用」 git 命令、规范以及操作总结

Git commit 规范 关于提交信息的格式,可以遵循以下的规则: feat: 新特性,添加功能fix: 修改 bugrefactor: 代码重构docs: 文档修改style: 代码格式修改test: 测试用例修改chore: 其他修改, 比如构建流程, 依赖管理 Git 基础知识 当我们通过…

Midjourney生成LOGO指南

目录 常见的Logo 宠物店Logo Graphic Logo​ Lettermark Logo​ Geometric Logo​ Mascot Logo​ 增加风格——艺术运动​ 每个产品都有自己的专属名称,也有自己专属的Logo,经过前几篇的学习,我相信你也有了一定的基础,今天…

TiDB实战篇-PD调度常见问题处理方法

常见的问题 调度产生和执行 常见的调度类型 参数调度的速度 调度典型场景 Leader分布不均匀监控 leader分布算法,每一个leader的size作为总和,还有TiKV的剩余空间等等。 可以手动设置权重。 分布不均衡处理 TiKV节点下线速度慢 TiKV下线速度慢解决方法 …

一文说透IO多路复用select/poll/epoll

概述 如果我们要开发一个高并发的TCP程序。常规的做法是:多进程或者多线程。即:使用其中一个线程或者进程去监听有没有客户端连接上来,一旦有新客户端连接,就新开一个线程(进程),将其扔到线程(或进程&…

C++——类和对象[下]

0.关注博主有更多知识 C知识合集 目录 1.再谈构造函数 1.1初始化列表 1.2初始化列表的初始化顺序 1.3构造函数的隐式类型转换 1.4explicit关键字 2.static成员 2.1static成员变量 2.2static成员函数 3.友元 3.1友元函数 3.2友元类 4.内部类 5.匿名对象 6.编译器…

美颜sdk对于移动端视频直播的优化效果研究报告

随着移动互联网的快速发展,移动端视频直播应用也越来越受到用户的青睐。然而,对于许多用户来说,直播的画质却成为了一个令人头疼的问题。为了解决这个问题,许多直播应用开始引入美颜sdk,以期提升直播画质和用户体验。本…

凌思微-蓝牙框架-流程理解

1.蓝牙SOC芯片主函数流程 int main() { sys_init_app(); ble_init(); dev_manager_init(dev_manager_callback); gap_manager_init(gap_manager_callback); gatt_manager_init(gatt_manager_callback); rtos_init(); ble_task_init(); app_task_init(); vTaskStartScheduler();…