[MySQL]MySQL数据库基础

news2024/11/26 17:00:38

[MySQL]MySQL数据库基础

文章目录

  • [MySQL]MySQL数据库基础
    • 1. 什么是数据库
    • 2. 主流数据库
    • 3. 服务器数据库表之间的关系
    • 4. 数据逻辑结构
    • 5. MySQL架构
    • 6. SQL语句分类
    • 7. 存储引擎

1. 什么是数据库

数据库是存储在计算机系统内的有结构的数据集合,是相关数据的集合,数据由数据库管理系统统一管理和维护。

数据库存储与文件存储

普通文件存储数据只能起到存储数据的功能,并没有对数据进行管理的功能,这里所指的管理不是文件系统级别的管理,而是将数据的内容进行管理,举个例子,由于数据库对数据内容进行管理,因此程序员不需要花精力实现对数据某个数据查找的代码实现,而是直接将命令交给数据库,数据库自身完成数据的查找,因此存储数据需要使用数据库进行存储。

文件保存数据有以下几个缺点:

  • 文件的安全性问题
  • 文件不利于数据查询和管理
  • 文件不利于存储海量数据
  • 文件在程序中控制不方便

以上的文件存储数据的缺点在数据库存储数据中可以得到解决。

数据库存储介质:

  • 磁盘
  • 内存

关于MySQL:

  1. MySQL是一套提供数据存取(对数据库进行操作)的服务的网络程序。
  2. mysql是MySQL服务程序的客户端。
  3. mysqld是MySQL服务程序的服务端。
  4. MySQL是基于C(mysql) S(mysqld)模式的一种网络服务。
  5. 只有将MySQL的服务端启动,才能使用MySQL的客户端。
  6. 数据库服务 – mysqld

2. 主流数据库

  • SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。
  • Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。
  • MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电 商,SNS,论坛。对简单的SQL处理效果好。
  • PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研 究使用,可以免费使用,修改和分发。
  • SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库 中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的 低,在嵌入式设备中,可能只需要几百K的内存就够了。
  • H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

3. 服务器数据库表之间的关系

  • 所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
  • 为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
  • 数据库服务器、数据库和表的关系如下:

image-20230702215719696

图中信息说明:

  • client为mysql,也就是客户端
  • MySQL为mysqld,也就是服务端
  • DB(database)表示的是mysqld管理的多个数据库,而每一个DB下会包含多张表。

其中DB和表只能由数据库服务来进行操作。

4. 数据逻辑结构

在MySQL下,数据以表的逻辑结构存储,表中的数据是以二维表格的形式进行呈现的,包括行和列。如下:

image-20230703183308681

5. MySQL架构

image-20230703183813125

MySQL架构主要可分为如下四层:

  • 连接层 – 连接管理和鉴别用户权限
  • 服务层:在MySQL数据库系统处理底层数据之前的所有工作都是在这一层完成的,包括权限判断、SQL接口、SQL解析、SQL分析优化、缓存查询的处理以及部分内置函数执行等。
  • 引擎层:由多种可拔插的存储引擎共同组成,接受服务层传入的处理结果并执行,是真正负责MySQL中数据的存储和提取,每个存储引擎都有自己的优点和缺陷,服务层是通过存储引擎API来与它们交互的。
  • 存储层:将数据存储在裸设备的文件系统之上,完成存储引擎的交互。

6. SQL语句分类

  • DDL【data definition language】 数据定义语言,用来维护存储数据的结构

    代表指令: create, drop, alter

  • DML【data manipulation language】 数据操纵语言,用来对数据进行操作

    代表指令: insert,delete,update

    DML中又单独分了一个DQL,数据查询语言,代表指令: select

  • DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务

    代表指令: grant,revoke,commit

7. 存储引擎

存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。

MySQL的核心就是插件式存储引擎,支持多种存储引擎。

查看存储引擎

指令:

show engines;

image-20230703185306077

存储引擎对比:

image-20230703185826268

MySQL常用的存储引擎是InnoDB,和MyISAM, InnoDB存储引擎是支持事务的,而MyISAM存储引擎是不支持的。

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

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

相关文章

【业务功能篇38】Springboot+activiti7 工作流引擎 增加网关组件、Assignment分配权限

在前面的一篇文章中,简单举例了一个 工单电子流,【业务功能篇36】Springbootactiviti7 工作流引擎_studyday1的博客-CSDN博客仅有一个子任务,这种一般是针对比较简单的一个遗留问题记录场景,今天再介绍一个,相对比较复…

rabbitMq怎么查看队列消息-Tracing日志

Trace 是Rabbitmq用于记录每一次发送的消息,方便使用Rabbitmq的开发者调试、排错。 1、启动Tracing插件 在RabbitMQ中默认是关闭的,需手动开启。此处rabbitMQ是使用docker部署的 ## 进入rabbitMq中 docker exec -it rabbitmq1 bash ## 启动日志插件 rabb…

每天五分钟机器学习:构建多特征的线性回归模型

本文重点 在实际应用中,有时候一个单一特征的线性回归模型可能无法很好地解释数据,因此我们可以构建多特征的线性回归模型来提高模型的预测能力。本文还是拿房价问题来举例,来看以下多特征的线性回归模型如何构建? 多特征的数据集 以房价预测为例,现在的样本特征不再是…

贵阳阿里云代理商:阿里云中国区副总裁李国欢:数字经济与实体经济如何融合

中国青年报客户端讯(中青在线记者 于璧嘉)6月21日,在第六届世界智能大会即将召开之际,阿里云中国区副总裁李国欢在接受媒体专访时表示:“数字经济已经成为社会生产力革命的一个重要生产要素。” 6月21日,阿…

Linux下GO IDE安装和配置(附快捷键)

目前,GoLand、VSCode 这些 IDE 都很优秀,但它们都是 Windows 系统下的 IDE。在 Linux 系统下我们可以选择将 Vim 配置成 Go IDE。熟练 Vim IDE 操作之后,开发效率不输 GoLand 和 VSCode。有多种方法可以配置一个 Vim IDE,这里我选…

mqadmin命令的使用

mqadmin命令的使用 F:\rocketmq-all-4.9.7-bin-release\bin>mqadmin The most commonly used mqadmin commands are: updateTopic Update or create topic deleteTopic Delete topic from broker and NameServer. updateSubGroup Update or create subscription group delet…

【虚拟化】虚拟机xml文件解析

文章目录 虚拟机xml文件解析nameuuidmemory/currentMemoryvcpubootcpuon_poweroffon_rebooton_crashdiskinterfaceinputgraphics 补充说明1.磁盘总线类型 虚拟机xml文件解析 name name # 虚拟机名称,具有唯一性,不可与已建立的虚拟机重复uuid uuid #虚…

MoblieNetV1、V2、V3、ViT四种Moblie模型的分析对比

1、MoblieNetV1 2017年提出,论文地址为:https://arxiv.org/pdf/1704.04861.pdf 1.1 相关知识 提到了标准卷积、深度可分卷积、点卷积,并分析了不同卷积结构的计算量,(假设 D k D_k Dk​为ksize,M为卷积的…

在VMware Workstation虚拟机上安装centos服务,并使用xshell连接centos服务。

一、安装VMware Workstation 可前往http://www.kkx.net/soft/22239.html,附带有下载链接,和对应的破解码。 二、下载centos .iso格式文件 前往https://mirrors.aliyun.com/centos/7/isos/x86_64/下载。 以下两个,选择哪一个都行。 记得要下…

【MySQL进阶篇】学习笔记

文章目录 MySQL进阶学习前言1、存储引擎1.1 MySQL体系结构概览1.2 存储引擎介绍1.3 常见存储引擎的特点1.3.1 InnoDB的特点1.3.2 MyISAM1.3.3 Memory1.3.4 总结 2、索引2.1 索引介绍2.2 索引的结构2.2.1 前置知识2.2.2 索引结构的种类 2.3 索引的分类2.4 索引的使用2.4.1 索引的…

Vue3 通过ref获取 el-dialog 内容(组件)中的dom元素的问题

问题描述: 项目中,使用el-dialog组件展示内容,内容是自己封装的一个组件,组件中通过ref获取dom元素然后进行绘制echarts图形的。 问题是:在弹出el-dialog组件后,echarts图形没有渲染出来。刚开始还以为是自…

ArcPy学习心得系列(5)遥感数据中值滤波与均值滤波实现方法(不计入NoDATA)

在数据处理与应用的过程中,我们难免会遇到一些低质量的遥感数据,低质量遥感数据一般是由于天气因素导致的,在云量较多时,卫星传感器所采集到的地面信息被云层所遮挡,导致遥感图像成像过程中产生了较多噪声,对遥感数据的精确度造成了一定影响,如果不解决这些数据中的噪声…

超详细IDEA连接本地数据库以及使用教程

文章目录 前言一、IDEA连接本地数据库二、IDEA使用数据库操作 前言 IDEA的项目要想连接本地数据库,前提就是本地已经配置有数据库,并且可以使用 附Windows10 安装配置数据库教程: 超详细MySQL(免安装版)安装与配置教程 一、IDEA连接本地数据库 点击IDE…

什么是视频|孪生视频孪生,打造实时实景数字孪生应用

元宇宙概念下,虚拟世界和虚拟空间的讨论日益增多,其相关技术的应用和发展也备受关注。在众多技术手段中,数字孪生技术以虚实结合为主,架起虚拟世界与现实世界之间沟通的桥梁。 视频孪生更侧重从真实角度出发,打造实时…

【大数据之Hive】十九、Hive之文件格式和压缩

1 Hadoop压缩概述 Hive中的压缩算法与Hadoop中的压缩算法保持一致,可以把Hive当作Hadoop的一个客户端。 【大数据之Hadoop】十八、MapReduce之压缩 2 Hive文件格式 Hive表中常用的数据存储格式:text file(行式存储)、orc&#x…

Vue3 ElementPlus写的导航栏

Vue3 ElementPlus Vuex Router写的导航栏,效果如图: 导航条路径那里是自动的。 链接: https://pan.baidu.com/s/1pjqgR9QGbB2ZYIECPwNIoQ?pwdk5ew 提取码: k5ew 复制这段内容后打开百度网盘手机App,操作更方便哦

Android进阶之路 - 背景阴影、阴影背景

不知道你是不是也经常听到这些话:你这个没有阴影效果;你这个阴影太浓了;你这个阴影太粗了;你这个阴影太实了;你这个阴影颜色也不对,你这个阴影… 在正式开发中,临近上线前有个环节叫UI验收&…

Vector - CAPL - 数据库和CAPL_02

DBLookup 动态读取数据库中的信息 //Transmitter 属性以及数据库属性只能通过 DBLookup 动态读取。 //返回数据库中存储的 DLC on message * {int myAttributeValue;myAttributeValue DBLookup(this).MyAttribute;write(this.Transmitter); // compiler errorwrite(DBLookup(…

AR试穿试戴相关SDK或平台

1.火山引擎 链接 咨询过平台收费比较高几十万一年而且还是起步价 2.Geenee 链接 geenee在衣服、裤子、头饰以及鞋子方面可以实现试穿。 3.Wanna 链接 Wanna 试衣、试包、试鞋及手表都可以,我试过鞋子的试穿效果还不错 4.DeepAR …

sqlite维护命令复习学习

前面已经看了一些sqlite命令,例如查看表名,查看表结构等;下面继续看一下; 查看全部表名; 查看单个或全部的表结构; 输出表结构和数据; 使用.output 把查询结果定向到1.txt; 重新定向…