当前位置: 首页 > news >正文

MySQL从入门到精通(一):MySQL介绍及数据库相关概念

目录

一、MySQL 介绍

二、数据库相关概念

(一)数据库基础知识

(二)主流的关系型数据库管理系统

三、关系型数据库与非关系型数据库

(一)定义

(二)数据模型对比

(三)性能与扩展性

(四)优缺点分析


一、MySQL 介绍

MySQL 是一个开源的关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下产品。它以其高性能、可靠性和易用性而闻名于世,是 Web 应用程序最常用的数据库之一,也是许多企业级应用、移动应用、大数据应用以及云计算应用的首选数据库解决方案 。许多知名的网站和服务,如 Facebook、Twitter、YouTube、WordPress 等,都在使用 MySQL 来存储和管理数据,这进一步证明了 MySQL 的可靠性和适用性。

对于开发者而言,掌握 MySQL 意味着能够开发出更高效、更可靠的应用程序。无论是 Web 开发、移动开发还是大数据分析,MySQL 都是不可或缺的技能。

二、数据库相关概念

(一)数据库基础知识

在深入学习 MySQL 之前,我们需要先了解一些数据库的核心概念,这些概念是我们理解和使用数据库的基石。

数据库(Database):数据库就像是一个电子化的文件柜,是按照一定的数据结构来组织、存储和管理数据的仓库。它可以存储大量的数据,并且提供了对这些数据进行高效访问和操作的方法。

数据库管理系统(Database Management System,DBMS):数据库管理系统是一种用于管理数据库的软件系统,它就像是数据库的管理员,负责数据库的创建、数据的存储、查询、更新、删除以及用户权限管理等操作。常见的数据库管理系统有 MySQL、Oracle、SQL Server等,不同的数据库管理系统具有不同的特点和适用场景。

SQL(Structured Query Language)SQL 即结构化查询语言,是一种专门用于与数据库进行交互的语言,定义了一套操作关系型数据库的统一标准。它就是我们与数据库管理员沟通的工具,通过 SQL 语句,我们可以向数据库管理系统发送指令,实现对数据库中数据的各种操作 。

这三个概念之间的关系紧密相连。数据库是数据的存储容器,数据库管理系统负责管理和维护数据库,而 SQL 则是我们与数据库管理系统进行交互的语言。我们通过 SQL 语句向数据库管理系统发送请求,数据库管理系统根据这些请求对数据库中的数据进行相应的操作 。

(二)主流的关系型数据库管理系统

目前主流的关系型数据库管理系统的市场占有率排名如下:

  • Oracle:大型的收费数据库,Oracle公司产品,价格昂贵。
  • MySQL:开源免费的中小型数据库,后来Sun公司收购了MySQL,而Oracle又收购了Sun公司。 目前Oracle推出了收费版本的MySQL,也提供了免费的社区版本。
  • SQL Server:Microsoft 公司推出的收费的中型数据库,C#、.net等语言常用。
  • PostgreSQL:开源免费的中小型数据库。
  • DB2:IBM公司的大型收费数据库产品。
  • SQLLite:嵌入式的微型数据库。Android内置的数据库采用的就是该数据库。
  • MariaDB:开源免费的中小型数据库。是MySQL数据库的另外一个分支、另外一个衍生产品,与 MySQL数据库有很好的兼容性。

只要是关系型数据库,最终在操作时,都是使用SQL语言来进行统一操作, 因为SQL语言,是操作关系型数据库的统一标准 。所以即使我们现在学习的是MySQL, 假如我们以后到了公司,使用的是别的关系型数据库,如:Oracle、DB2、SQLServer,也完全不用 担心,因为操作的方式都是一致的。

三、关系型数据库与非关系型数据库

(一)定义

  1. 关系型数据库(RDBMS)

    • 概念:基于关系模型,通过二维表格(行表示记录,列表示字段)组织数据,表之间通过主键和外键建立关联。代表产品包括MySQL、Oracle、SQL Server等。
       
    • 核心特性
      • 严格的数据模式(Schema)需预先定义字段类型和表结构。
      • 支持SQL语言进行复杂查询(如JOIN操作)。
      • 遵循ACID原则(原子性、一致性、隔离性、持久性),确保事务的强一致性 。
  2. 非关系型数据库(NoSQL)

    • 概念采用灵活的数据模型(如键值对、文档、列族、图),无需固定表结构,支持分布式存储。代表产品包括MongoDB、Redis、Cassandra等。
       
    • 核心特性
      • 动态数据结构,允许随时增减字段。
      • 弱一致性(最终一致性),遵循BASE原则(基本可用、软状态、最终一致)。
      • 高扩展性,可通过横向扩展(增加节点)应对海量数据。

(二)数据模型对比

维度关系型数据库非关系型数据库
存储形式二维表格键值对、文档、图等 
模式预定义必须预先定义表结构 动态结构,无需预定义 
数据关联性多表关联(外键) 嵌套文档或独立存储 
典型操作复杂查询(JOIN、事务) 简单键值查询、批量读写 

(三)性能与扩展性

  1. 性能优化方向

    • 关系型:依赖垂直扩展(提升单机性能),如增加CPU或内存。
    • 非关系型:天然支持水平扩展,通过分片和集群分散负载。
  2. 适用场景

    • 关系型
      • 需要强一致性复杂事务的场景(如银行系统、ERP)。
      • 结构化数据的高效查询(如用户账户、订单管理)。
    • 非关系型
      • 高并发读写
      • 非结构化半结构化数据存储。

(四)优缺点分析

类型优点缺点
关系型

数据一致性强,支持复杂事务 


标准化结构减少冗余

扩展性受限,海量数据读写效率低

模式修改成本高

非关系型高扩展性和灵活性

适合非结构化数据

弱一致性可能导致数据不一致

复杂查询能力弱

完结撒花🎉

http://www.xdnf.cn/news/302743.html

相关文章:

  • 高级java每日一道面试题-2025年5月02日-基础篇[反射篇-编码]-使用反射,获取Class对象
  • WPF MVVM入门系列教程(五、命令和用户输入)
  • 如何使用vmstat 和 free 查看内存碎片化信息?
  • Qwen3与Deepseek R1对比(截止20250506)
  • C++ - 仿 RabbitMQ 实现消息队列(1)(环境搭建)
  • 典籍知识问答模块AI问答功能feedbackBug修改+添加对话名称修改功能
  • MySQL基础关键_009_DDL 和 DML(二)
  • vue源代码采用的设计模式分解
  • Hive优化秘籍:大数据处理加速之道
  • Excel 数据 可视化 + 自动化!Excel 对比软件
  • Excel Vlookup
  • Tomcat中Web应用程序停止时为了防止内存泄漏,JDBC驱动程序被强制取消注册出现原因
  • 荣耀A8互动娱乐组件部署实录(终章:后台配置系统与整体架构总结)
  • 链表的面试题2反转单链表
  • 第三章:langchain加载word文档构建RAG检索教程(基于FAISS库为例)
  • 5.6 react组件化开发基础
  • Elasticsearch知识汇总之ElasticSearch部署
  • conda 环境克隆
  • ϵ-prediction和z0-prediction是什么意思
  • 关于EIDE中debug的使用问题
  • 如何打造一个高并发系统?
  • linux redis 设置密码以及redis拓展
  • ROS2:话题通信CPP语法速记
  • 从零开始学习人工智能(Python高级教程)Day6-Python3 正则表达式
  • c++学习合集(2025-4-29)
  • setup 函数在 Vue 3 中的作用是什么?什么时候会执行
  • ASP.NET Core 中间件
  • git flow
  • 线性回归有截距
  • 电子电器架构 --- 网关ECU中采用多CPU解决方案来实现网关功能