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;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

BGP策略实验(路径属性和选路规则)

要求: 1、使用preval策略,确保R4通过R2到达192.168.10.0/24 2、使用AS Path策略,确保R4通过R3到达192.168.11.0/24 3、配置MED策略,确保R4通过R3到达192.168.12.0/24 4、使用Local Preference策略,确保R1通过R2到达19…

移动云以深度融合之服务,令“大”智慧贯穿云端

移动云助力大模型,开拓创新领未来。 云计算——AI模型的推动器。 当前人工智能技术发展的现状和趋势,以及中国在人工智能领域的发展策略和成就。确实,以 ChatGPT 为代表的大型语言模型在自然语言处理、文本生成、对话系统等领域取得了显著的…

深度学习中的多GPU训练(Pytorch 20)

一 多GPU训练 下面详细介绍如何从零开始并行地训练网络,这里需要运用小批量随机梯度下降算法。后面我还讲介绍如何使用高级API并行训练网络。 我们从一个简单的计算机视觉问题和一个稍稍过时的网络开始。这个网络有多个卷积层和汇聚层,最后可能 有几个…

构建智慧科技园区的系统架构:数字化驱动未来创新

随着科技的不断进步和数字化转型的加速推进,智慧科技园区已成为当今城市发展的重要组成部分。在智慧科技园区建设中,系统架构的设计和实施至关重要,对于提升园区管理效率、优化资源利用、促进创新发展具有重要意义。 一、智慧科技园区系统架构…

数据结构和算法|排序算法系列(三)|插入排序(三路排序函数std::sort)

首先需要你对排序算法的评价维度和一个理想排序算法应该是什么样的有一个基本的认知: 《Hello算法之排序算法》 主要内容来自:Hello算法11.4 插入排序 插入排序的整个过程与手动整理一副牌非常相似。 我们在未排序区间选择一个基准元素,将…

中国人工智能大模型价格战

近年来,人工智能技术迅猛发展,尤其是大模型领域的突破让人们看到了更多的可能性。然而,在这一高科技领域,中美两国的竞争日趋激烈。近日,中国互联网巨头们纷纷启动大模型价格战,引发了广泛关注。这场价格战…

GpuMall智算云:meta-llama/llama3/Llama3-8B-Instruct-WebUI

LLaMA 模型的第三代,是 LLaMA 2 的一个更大和更强的版本。LLaMA 3 拥有 35 亿个参数,训练在更大的文本数据集上GpuMall智算云 | 省钱、好用、弹性。租GPU就上GpuMall,面向AI开发者的GPU云平台 Llama 3 的推出标志着 Meta 基于 Llama 2 架构推出了四个新…

解决word里加入mathtype公式后行间距变大

1.布局>页面设置>文档网格,网格栏选为无网格 2.固定间距

CentOS Stream 9 vsftpd本地用户设置

1、使用yum指令下载vsftpd yum install vsftpd2、创建wu用户,为ftp组的成员 useradd -g ftp wu3、设置一个密码 echo 1 |passwd --stdin wu4、修改本地用户目录的权限(所有者为wu用户) chown -R wu /data/wu5、创建本地用户的信息数据存放…

领导VS管理:技术团队掌舵者的双重角色解析

文章目录 引言一、管理1.1 管理的定义1.2 管理的特点1.3 管理的作用 二、领导2.1 领导的定义2.2 领导的特点2.3 领导的作用 三、管理与领导的互补性3.1 互补策略 总结 引言 在科技飞速发展的今天,技术团队作为推动企业创新的核心力量,其管理显得尤为关键…

Quartus Cyclone I II III IVE 器件型号

玩耍了一个 EP2 型号的开发板,发现 安装的quartus13 没有Cyclone II 型号,经过探索发现了是版本不对。 https://www.intel.com/content/www/us/en/software-kit/711920/intel-quartus-ii-subscription-edition-design-software-version-13-0sp1-for-win…

3、xss-labs之lecel3

1、测试 开始页面&#xff0c;传入<script>alert(1)</script>&#xff0c;不出意外没有弹窗 2、按住CTRLU&#xff0c;查看返回的前端代码 3、看后端源码 htmlspecialchars() 是一个 PHP 函数&#xff0c;用于将特殊字符转换为 HTML 实体。比如 & &#xff08…

aws eks中amazonlinux2023版本节点加入集群逻辑变更的测试

基于amazonlinux2023的EKS优化AMI相关更新如下 引入yaml文件进行节点的初始化配置 需要VPC CNI v1.16.2及以上版本 可配置实例存储将自动挂载为 raid0 需要IMDSv2 使用cgroupv2 从userdata到nodeadm AL2中节点需要通过bootstrap.sh脚本执行节点的初始化逻辑&#xff0c;…

【学习笔记】Windows GDI绘图(七)图形路径GraphicsPath详解(下)

文章目录 前三篇回顾GraphicsPath方法Flatten压平(将曲线转成线段)GetBounds获取外接矩形GetLastPoint获取路径最后一个点IsOutlineVisibleIsVisiable是否在轮廓上或内部Reset重置Reverse逆转点的顺序Transform矩阵变换Wrap扭曲变换Widen将路径替换为指定画笔的填充区域 前三篇…

大白话DC3算法

DC3算法是什么 DC3算法&#xff08;也称为Skew算法&#xff09;是一种高效的构建后缀数组的算法&#xff0c;全称为Difference Cover Modulo 3算法。 该算法于2002年被提出&#xff0c;论文参考&#xff1a; https://www.cs.cmu.edu/~guyb/paralg/papers/KarkkainenSanders0…

与MySQL DDL 对比分析OceanBase DDL的实现

本文将简要介绍OceanBase的DDL实现方式&#xff0c;并通过与MySQL DDL实现的对比&#xff0c;帮助大家更加容易理解。 MySQL DDL 的算法 MySQL 的DDL实现算法主要有 copy、inplace和instant。 copy copy算法的实现相对简单&#xff0c;MySQL首先会创建一个临时表&#xff0…

运算放大器学习笔记

运放简介 运放参数 读懂运放生产商提供的datasheet 是用好一款运放的先决条件 dataSheet 下载地址&#xff1a; 各芯片厂家官网http://www.ic37.comhttps://www.szlcsc.comhttp://www.alldatasheet.com 参数1&#xff1a; 供电电压Vs 某些运放可以用单电源供电某些运放需要…

计算机网络基本概念

文章目录 情景带入一些基本概念网络网络编程&#xff1a;7层网络模型OSI&#xff1a;TCP/IP Protocol Architecture Layers与OSI的对应关系SocketClient-Server Application报文段&#xff1a;传输协议&#xff1a;Mac地址IP地址端口URL 情景带入 随着时代的发展&#xff0c;我…

JVM之【类加载机制】

一、类加载过程 1. 加载&#xff08;Loading&#xff09; 工作内容&#xff1a; 通过类的全限定名来获取定义此类的二进制字节流&#xff1a; JVM首先会调用类加载器的findClass方法来找到类文件的路径&#xff0c;通常从文件系统、JAR包、网络、数据库等来源获取类文件。 将…

嵌入式进阶——数码管2

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