MySQL数据库基础:使用、架构、SQL语句、存储引擎

文章目录

  • 什么是数据库
    • CS模式
  • 基本使用
    • 安装
    • 链接服务器
    • 服务器、数据库、表关系
    • 简单使用
    • 数据库在Linux下的体现
  • MySQL架构
    • 连接器层
    • 客户端层
    • 服务层
    • 存储引擎层
    • 物理存储层
  • SQL分类
  • 存储引擎

什么是数据库

  • mysql:数据库服务的客户端
  • mysqld:数据库服务的服务器端
  • mysql本质:基于CS模式的一种网络服务。

    mysql是一套提供给我们进行数据存取服务的网络程序。

CS模式

CS模式(Client-Server模式,客户端-服务器模式),是一种网络架构模型,在这种模型中,任务和工作负载分布在提供资源或服务的服务器和请求服务的客户端之间。

  • 客户端
    客户端是请求服务的一方。它通常是一个终端用户或一个应用程序。客户端通过发送请求来访问服务器上的资源或服务,然后处理服务器返回的响应。
  • 服务端
    服务器是提供服务或资源的一方。它提供并处理来自客户端的请求,然后将结果返回给客户端。服务器可以托管在物理机或虚拟机上,常见的服务器有web服务器,数据库服务器,文件服务器等。

基本使用

安装

MySQL详细安装、配置过程,多图,详解-CSDN博客

链接服务器

mysql -h 127.0.0.1 -P 3306 -u root -p
  • mysql:这是MySQL客户端命令,用于连接MySQL数据库服务器

  • -h:选项-h用于指定MySQL服务器的主机名或者IP地址

  • 1270.0.0.1:是本地主机的IP地址,表示连接到运行在同一台计算机上的MySQL服务器。

  • -P:选项-P(大写P),用于指定MySQL服务器的端口号。默认情况下,MySQL使用端口3306

  • -u:用于指定用于连接MySQL服务器的用户名。实例中的用户名是root,它是MySQL默认的超级用户。

  • -p:选项-p用于提示输入密码

  • 在登录指令中,不写-h 127.0.0.1,则默认连接到本地

  • 在登录指令中,不写-p 3306,则默认链接的是配置文件中默认的端口号

登录

登录成功

服务器、数据库、表关系

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

简单使用

查看已存在的数据库

show databases;

创建数据库

create database helloworld;

使用数据库

use helloworld;

创建数据库表

create table student(id int,name varchar(32),gender varchar(2)
);

在当前打开的数据库中,创建一个名为student的表,其中包含三个列:id、name、gender。

在表中插入数据

insert into student (id, name, gender) values (1, '张三', '男');
  • insert into student (id, name, gender):指定要插入数据的表,以及表中的列

查询表中的数据

select * from student;

数据库在Linux下的体现

在上面的操作中,我们使用mysql建立了一个名为LearnMySql的数据库,并且建立了一个名为student的表结构,也插入了一些数据。那么这些数据在Linux下是如何表现的呢?

  1. 建立数据库,本质就是Linux下的一个目录。
  2. 在数据库内,建立表结构,本质就是在Linux下创建对应的文件。
  3. 数据库本质其实也是文件,只不过这些文件不是由用户直接操作,而是由数据库服务帮我们直接进行操作。

MySQL架构

连接器层

这一层包括各种客户端连接器和接口,允许用户使用不同的编程语言和工具与MySQL服务器通信。

  • JDBC\ODBC.NET\PHP\PYTHON\PERL\C API等连接器
  • 这些连接器允许应用程序通过标准化的接口与MySQL进行交互。

客户端层

  • 客户端层宝库与MySQL服务器进行通信的各种客户端组件,如命令行工具、图形化界面工具、编程语言中的MySQL链接库等。
  • 客户端负责向服务器发送请求,并处理服务器返回的结果,同时向用户提供交互界面和操作功能。

服务层

  • 这一层包括MySQL服务器的核心功能,如SQL解析、查询优化、事务管理、权限哦控制、链接管理等。
  • MySQL服务器接收客户端的请求,在查询处理、事务管理和权限控制等方面进行处理,并将结果返回给客户端。

存储引擎层

  • 存储引擎是MySQL中负责实际数据存储和检索的组件
  • 支持多种可插拔的存储引擎
  • 不同的存储引擎有不同的特性和适用场景。
    • InnoDB
    • Merge

物理存储层

  • 这一层负责管理数据在磁盘上的存储,包括表数据文件、索引文件等。
  • 管理数据的物理存储格式和组织结构。

SQL分类

  1. DDL,数据定义语言
    用来维护存储数据的结构。主要包括创建、修改和删除数据库对象(表、试图、索引等)
    • create:用于创建数据库、表、视图、索引等
    • drop:用于删除数据库、表、视图、索引等
    • alter:用于修改现有数据库对象那个的结构,如表的添加或者删除列
  2. DML,数据控制语言
    DML用于对数据库中的数据进行查询和修改,包括插入、更新、删除和查询数据。
    • insert:用于向表中插入数据
    • update:用于修改表中的数据
    • delete:用于删除表中的数据

存储引擎

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

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

查看存储引擎

show engines;

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

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

相关文章

PLC_博图系列☞R_TRIG:检测信号上升沿

PLC_博图系列☞R_TRIG:检测信号上升沿 文章目录 PLC_博图系列☞R_TRIG:检测信号上升沿背景介绍R_TRIG: 检测信号上升沿说明参数示例 关键字: PLC、 西门子、 博图、 Siemens 、 R_TRIG 背景介绍 这是一篇关于PLC编程的文章&a…

[ C++ ] 类和对象( 中 ) 2

目录 前置和后置重载 运算符重载和函数重载 流插入流提取的重载 全局函数访问类私有变量 友员 const成员 取地址及const取地址操作符重载 前置和后置重载 运算符重载和函数重载 流插入流提取的重载 重载成成员函数会出现顺序不同的情况(函数重载形参顺序必须相…

数据结构(五)树与二叉树

2024年5月26日一稿(王道P142) 基本概念 术语 性质 二叉树 5.2.2 二叉树存储结构

嵌入式进阶——数码管2

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 驱动封装封装的一些疑问数字走马灯实现扩展知识 驱动封装 根据前面的内容可以将代码进行封装,封装后作为一个独立的整…

贪心题目总结

1. 最长递增子序列 我们来看一下我们的贪心策略体现在哪里??? 我们来总结一下: 我们在考虑最长递增子序列的长度的时候,其实并不关心这个序列长什么样子,我们只是关心最后一个元素是谁。这样新来一个元素之后&#xf…

【Week-R1】RNN实现心脏病预测,基于tensorflow框架

文章目录 一、什么是RNN?二、准备环境和数据2.1 导入数据 三、构建模型四、训练和预测五、其他(1)sklearn模块导入报错:ModuleNotFoundError: No module named sklearn(2)优化器改为SGD,accurac…

Linux系统之GoAccess实时Web日志分析工具的基本使用

Linux系统之GoAccess实时Web日志分析工具的基本使用 一、GoAccess介绍1.1 GoAccess简介1.2 GoAccess功能1.3 Web日志格式 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本3.3 检查系统镜像源3.4 更新软件列表…

JavaFX安装与使用

前言 最近学习了javafx,开始时在配置环境和导包时遇到了一些麻烦,关于网上很多方法都尝试过了,现在问题都解决了,和大家分享一下我是怎么实现javafx的配置,希望大家可以通过这个方法实现自己的环境配置! 🙈个人主页: 心.c 🔥文章专题:javafx &#x1f49…

计算机网络-Traffic-Filter流量过滤策略

一、概述 为提高网络安全性,管理人员需要控制进入网络的流量,将不信任的报文丢弃在网络边界。所谓的不信任报文是指对用户来说存在安全隐患或者不愿意接收的报文。同时保证数据访问安全性,企业网络中经常会要求一些部门之间不能相互访问。 背…

服务器数据恢复—同友存储raid5阵列上层虚拟机数据恢复案例

服务器数据恢复环境: 某市教育局同友存储,存储中有一组由数块磁盘组建的raid5阵列,存储空间划分若干lun。每个lun中有若干台虚拟机,其中有数台linux操作系统的虚拟机为重要数据。 存储结构: 服务器故障: r…

slam14讲(第9,10讲 后端)

slam14讲(第9,10讲 后端) 后端分类基于滤波器的后端线性系统和卡尔曼滤波非线性系统和扩展卡尔曼滤波 BA优化H矩阵的稀疏性和边缘化H矩阵求解的总结 位姿图优化公式推导 基于滑动窗口的后端个人见解旧关键帧的边缘化 后端分类 基于滤波器的后…

AtCoder Beginner Contest 355 A~F

A.Who Ate the Cake?(思维) 题意 已知有三个嫌疑人,有两个证人,每个证人可以指出其中一个嫌疑人不是罪犯,如果可以排除两个嫌疑人来确定犯人,输出犯人的身份,如果无法确定,输出"-1"。 分析 …

springboot + Vue前后端项目(第十一记)

项目实战第十一记 1.写在前面2. 文件上传和下载后端2.1 数据库编写2.2 工具类CodeGenerator生成代码2.2.1 FileController2.2.2 application.yml2.2.3 拦截器InterceptorConfig 放行 3 文件上传和下载前端3.1 File.vue页面编写3.2 路由配置3.3 Aside.vue 最终效果图总结写在最后…

TabAttention:基于表格数据的条件注意力学习

文章目录 TabAttention: Learning Attention Conditionally on Tabular Data摘要方法实验结果 TabAttention: Learning Attention Conditionally on Tabular Data 摘要 医疗数据分析通常结合成像数据和表格数据处理,使用机器学习算法。尽管先前的研究探讨了注意力…

Hudi 多表摄取工具 HoodieMultiTableStreamer 配置方法与示例

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,…

vue3添加收藏网站页面

结构与样式 <template><div class"web_view"><ul><li v-for"web in webList" :key"web.title"><a :href"web.src" :title"web.title" target"_blank"><img :src"web.img&…

微信小程序基础 -- 小程序UI组件(5)

小程序UI组件 1.小程序UI组件概述 开发文档&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/framework/view/component.html 什么是组件&#xff1a; 组件是视图层的基本组成单元。 组件自带一些功能与微信风格一致的样式。 一个组件通常包括 开始标签 和 结…

Cyber Weekly #8

赛博新闻 1、微软召开年度发布会Microsoft Build 2024 本周&#xff08;5.22&#xff09;微软召开了年度发布会&#xff0c;Microsoft Build 2024&#xff0c;发布了包括大杀器 Copilot Studio 在内的 50 项更新。主要包括&#xff1a; 硬件层面&#xff1a;与英伟达 & A…

3D牙科网格分割使用基于语义的特征学习与图变换器

文章目录 3D Dental Mesh Segmentation Using Semantics-Based Feature Learning with Graph-Transformer摘要方法实验结果 3D Dental Mesh Segmentation Using Semantics-Based Feature Learning with Graph-Transformer 摘要 本文提出了一种新颖的基于语义的牙科网格分割方…