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

Mysql 入门概览

文章目录

  • 1. Mysql 是什么
    • 1.1 Mysql结构
  • 2. Mysql 为什么存在
  • 3. Mysql下相关概念
    • 3.1 库,表,数据类型
    • 3.2 mysql操作
    • 3.3 mysql索引
    • 3.4 mysql事务
    • 3.5 mysql用户管理

1. Mysql 是什么

Mysql,全称为My structured query language,中文翻译过来就是,我的结构化请求语言(实际上M是开发者女儿名,不过也经常被视为My),本质是一种数据库。

mysql本质是由客户端和服务端共同构成的:mysql客户端,mysqld服务端。

mysql分为客户端和服务端,说明mysql是支持远程连接的。实际上,mysql设置了两套逻辑——一套是域间套接字,用于本地通信另一套是基于TCP的网络服务,用于网络通信。

1.1 Mysql结构

在这里插入图片描述
mysql客户端与服务端建立网络连接。mysqld使用连接池技术进行双端连接的持久化管理,对于网络通信中获得的sql语句进行解析和优化,然后交由下层特定的数据引擎进行执行(常用的有InnoDB和MyISAM),通过特定数据引擎实现与最底文件系统中磁盘数据的交互。

mysqld服务端还存在相关缓存,即内存中的一大块空间,当然还有一些其它结构。

2. Mysql 为什么存在

数据的存储,最终都是通过文件存储在磁盘上,亦或是临时存储在内存中,为什么要专门设计mysql进行数据存储呢?

如果我们仅以正常写入文件的方式去写入数据,那么想要进行特定行为的数据查询,是非常复杂耗时的事情。mysql本质也是数据存储,最终数据存储到磁盘上也是文件,只不过mysql自身设计了独特的数据存储方式——数据按照一定形式存储,再按照相应形式,就能快捷地进行某些数据查询行为。

对于一大批数据,存储工作往往是一次的,但是查询却要反复进行——为了通过特定存储形式实现高效查询,mysql的存在毋庸置疑。

3. Mysql下相关概念

3.1 库,表,数据类型

mysql库:mysql客户端一定要工作在具体的库中。库就是mysql服务端特定路径下,通常是/var/lib/mysql下的目录文件,库中包含表。
mysql表:表是mysql中进行数据增删查改操作的直接对象。一般都是对表中数据进行操作,表本质是相应库目录文件中的普通文件。
数据类型: mysql 表中存储各种数据,不同的数据具有不同的类型,mysql中有自己的一套数据类型。

mysql数据存储是结构化的,数据查询也是结构化,通常查询数据会以表格形式呈现,即行列结构——column,表示field,即不同属性栏;row,一行则是mysql表中的一个对象的数据。

3.2 mysql操作

mysql中操作,或者说sql语句分为三类:

  1. DDL:数据定义语言。mysql中用户,库,表结构相关操作。
  2. DML:数据操纵语言。对表中数据的操作。
  3. DCL:数据控制语言。对用户进行权限管理的操作。

3.3 mysql索引

mysql中大部分时候都是在进行查询操作,如何更加高效地查询?
mysql中引入索引index,往往与键值(主键或唯一键) 关联,将特定数据的查询由线性遍历优化为常数时间B复杂度下的查询。
索引底层借助B+树实现,查询的高效率,来源于B+树排除非目标数据的高效性。

3.4 mysql事务

mysqld作为服务端,提供网络服务,支持多客户端同时连接,那么必然存在多客户端同时操作相同数据的情况,即必然存在并发。

mysql事务概念是为了有效解决并发数据库操作而引入的。
一个完整事务具备四大性质:原子性,一致性,隔离性和持久性。mysql中所有表数据操作,本质都是事务操作,mysql通过锁等机制合理维护了完整事务的四大性质,也就合理解决了并发问题。

mysql事务主要是针对于DML语句,某些DDL语句也会受影响。

3.5 mysql用户管理

mysqld服务器支持网络服务,允许不同ip的不同user进行连接(使用ip + user进行用户管理),所以mysqld是多用户的,自然要做好用户管理工作

存在多用户,不同的用户自然可能要给予不同权限,所以mysqld还要做好用户权限管理。

mysqld中存在root超级用户,拥有最高权限。

http://www.dtcms.com/a/392919.html

相关文章:

  • 大模型中权重共享的作用?
  • 【精品资料鉴赏】55页可编辑PPT详解 数字化高校智慧后勤解决方案
  • LLM大模型 - 实战篇 - AI Agents的开发应用
  • 【分布式技术】RedisShake相关功能详细介绍
  • qsv:一款高性能的CSV数据处理工具
  • `html` 将视频作为背景
  • 口播提词器怎么选?手机提词器实测指南与参数推荐
  • 解剖线性表
  • 计算数学研究方向有哪些细分领域?
  • [xboard]08-Makefile逐行分析2
  • Clash 中 REJECT 的技术原理与解决方案 —— 以哔哩哔哩延迟问题为例
  • 庖丁解牛与专家思维:道家的“心手合一”训练法
  • matlab通过GUI实现点云的读取、自定义显示和保存
  • 工业现场实战:如何利用智能网关实现西门子PLC与库卡机器人的无缝连接
  • 【开题答辩全过程】以 Java程序设计课程作业数据分析为例,包含答辩的问题和答案
  • ubuntu配置cuda与torch
  • C语言:输出水仙花数
  • 进程的创建
  • 如何用Anaconda Navigator和命令行管理Python库?
  • 28 种 LLM 越狱攻击全景拆解(2025.9 版)从“AIM”到“Generation Exploitation”,一张防御地图看懂所有套路
  • 第14章 智能床位
  • 总结一下MySQL数据库服务器性能优化的几个维度
  • IP 打造财富新机遇
  • linux系统如何查看文件位置在数据盘还是系统盘
  • C#关键字 unchecked与checked
  • EasyClick JavaScript 字符串进阶
  • 小明打砖块-算法
  • 【Open3D】在Conda环境下安装Open3D | Anaconda | VSCode
  • AWS 的存储方案全对比:EBS、S3、EFS 用在哪?
  • 【实证分析】上市公司债务违约风险KMV模型及违约距离(2000-2023年)