当前位置: 首页 > 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)。
      • 结构化数据的高效查询(如用户账户、订单管理)。
    • 非关系型
      • 高并发读写
      • 非结构化半结构化数据存储。

(四)优缺点分析

类型优点缺点
关系型

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


标准化结构减少冗余

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

模式修改成本高

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

适合非结构化数据

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

复杂查询能力弱

完结撒花🎉

相关文章:

  • Spring AI 函数调用(Function Call)系统设计方案
  • 深入理解Python异步编程:从协程到高性能IO密集型应用
  • ROS2:话题通信CPP语法速记
  • 基于SpringBoot + Vue 的作业管理系统
  • SSCLMD模型代码实现详解
  • ubantu安装CUDA
  • 园区网的发展
  • tinyrenderer笔记(法线映射)
  • 龙虎榜——20250506
  • AI教你学VUE——Deepseek版
  • Matlab/Simulink的一些功能用法笔记(4)
  • 区块链交易所开发:开启数字交易新时代
  • 【JEECG】BasicTable内嵌Table表格错位
  • MySQL 触发器(Trigger)讲解
  • LeetCode 790 多米诺和托米诺平铺 题解
  • Latex排版问题:图片单独占据一页
  • 【网络原理】IP协议
  • vmware虚拟机克隆
  • 聊天助手提示词调优案例
  • 代码随想录算法训练营第九天 |【字符串】151.翻转字符串里的单词、卡码网55.右旋转字符串、28.实现strStr、459.重复的子字符串
  • 用社群活动维系“不开发”古镇的生命力
  • 中邮保险斥资8.69亿元举牌东航物流,持股比例达5%
  • 降准又降息!央行发布3类10项措施
  • 人们为何热衷谈论八卦?
  • 五一假期上海边检查验出入境人员超61万人次,同比增长23%
  • 综合治理食品添加剂滥用问题,国务院食安办等六部门联合出手