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

news2024/11/16 19:51:32

文章目录

  • 什么是数据库
    • 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.coloradmin.cn/o/1698780.html

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

相关文章

LVS精益价值管理系统 LVS.Web.ashx SQL注入漏洞复现

0x01 产品简介 LVS精益价值管理系统是杭州吉拉科技有限公司研发的一款专注于企业精益化管理和价值流优化的解决方案。该系统通过集成先进的数据分析工具、可视化的价值流映射技术和灵活的流程改善机制,帮助企业实现高效、低耗、高质量的生产和服务。 0x02 漏洞概述 LVS精益…

【云原生】Kubernetes-----POD资源限制与探针机制

目录 引言 一、资源限制 (一)基本定义 (二)资源单位 1.CPU资源 2.内存资源 (三)请求与限制 (四)定义方式 1.编写yaml文件 2.查看资源情况 (五)资源…

【顶刊新文】nature plants|植物高度作为高山碳固存和生态系统对变暖响应的指标

文章简介 论文名称:Plant height as an indicator for alpine carbon sequestration and ecosystem response to warming(植物高度作为高山碳固存和生态系统对变暖响应的指标) 第一作者及单位:Quan Quan(中国科学院地…

ERP产品一体化、智能化发展加速,智邦国际何以赢得先机?

近年,随着全球经济环境的剧烈变动,市场竞争的硝烟愈发浓烈。受大环境影响,百行千企在发展过程中,力求降低成本、增长效率,以增加自身竞争力。需求与市场并存,为激发更多潜在力量,越来越多的企业…

构建高效的在线培训机构CRM应用架构实践

在当今数字化时代,在线培训已成为教育行业的重要趋势之一。为了提供更好的学习体验和管理服务,在线培训机构需要构建高效的CRM(Customer Relationship Management)应用架构。本文将探讨在线培训机构CRM应用架构的设计与实践。 一、…

如同“水生态”的存储引擎|OceanBase数据转储合并技术解读(一)

本系列文章主要围绕 OceanBase数据库存储引擎中的转储合并进行解读,涉及到数据存储、转储合并、数据校验等方面的内容,旨在让读者了解OceanBase数据库的存储引擎中与转储合并有关的各种概念,帮助读者更好地理解OceanBase数据库的存储技术原理…

将点位转换为圆环极坐标绘画

将一段染色体可视化为一个圆环,根据一段基因的起始点和终止点绘画,根据基因的方向绘画箭头,可以任意确定染色体哪个位置在哪个角度上,例如染色体的1700点位在180上,默认是顺时针方向从起始点向终止点绘画。 1.将一段染色体的基因数组加上极坐标绘画属性 function compute…

DOS学习-目录与文件应用操作经典案例-ren

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.使用 三.案例 案例 1:重命名当前目录下的文件 案例 2&#xff1a…

Linux网络编程: 网络基础

Linux网络编程: 网络基础 1.网络划分 一.网络通信1.网络通信和本地通信的联系2.网络通信与本地通信最本质的区别及其衍生出的问题 二.网络协议初识1.为何本地通信不行?2.打电话的例子体会分层模型的好处3.OSI七层模型的提出4.OSI七层模型与TCP/IP五层模型1.TCP/IP与…

一千题,No.0027(Phone Desktop)

描述 Little Rosie has a phone with a desktop (or launcher, as it is also called). The desktop can consist of several screens. Each screen is represented as a grid of size 53, i.e., five rows and three columns. There are x applications with an icon size o…

驱动开发之新字符设备驱动开发

1.前言 register_chrdev 和 unregister_chrdev 这两个函数是老版本驱动使用的函数,现在新的 字符设备驱动已经不再使用这两个函数,而是使用 Linux 内核推荐的新字符设备驱动 API 函数。 旧版本的接口使用,感兴趣可以看下面这个博客&#…

网络原理-以太网协议和DNS协议

一、以太网协议 以太网协议会涉及到数据链路层和物理层。 如图: 这里面的目的地址和源地址指的并不是IP地址,而是MAC地址(物理地址)。长度为6个字节。即最多能表示2^48 个地址,也是非常大的,足够给全球每个设备都分配一个地址,因此在网卡出厂的时候都会带有一个唯…

比较两列数据

点其中一个数据 删掉S,回车 大的标红

ASP.NET 代码审计

ASP.NET 官方文档 名词解释 IIS(Internet Information Services) IIS 是微软开发的一款 Web 服务器软件,用于在 Windows 服务器上托管和提供Web应用程序和服务。它支持 HTTP、HTTPS、FTP、SMTP 等多种协议,主要用于&#xff1a…

Linux文件系统原理

Linux文件系统 冯诺依曼在1945年提出计算机的五大组成部分 运算器:CPU 控制器:CPU 存储器:内存和硬盘 输入设备:鼠标、硬盘 输出设备:显示器一、硬盘结构 机械硬盘结构 扇区:硬盘的最小存储单位&#xff…

windows使用gzip和bzip2对文件进行压缩

git软件 git bash:下载地址https://git-scm.com/downloads,安装时一路next。 这个软件是给程序员提交代码用的工具,内置linux系统的命令行,可以使用linux系统特有的压缩软件gzip和bzip2. gzip使用 gzip一般用于压缩tar包&#…

学习经验分享【37】YOLOv10解读——最新YOLO版本

YOLO算法更新速度很快,已经出到V10版本,后续大家有想发论文或者搞项目可更新自己的baseline了。有需要改进方法的和相关资料可以关注后私信获取。 代码:GitHub - THU-MIG/yolov10: YOLOv10: Real-Time End-to-End Object Detection 摘要&…

【credit_based流控机制】

credit_based流控机制 1 credit_based way1.1 Principle1.3 DFD1.4 Module1.4.1 Interface1.4.2 Code Block 在网络芯片处理大流量报文中,一般主要是两种机制:1.valid–ready反压(backpressure)机制;2.credit信用机制; credit机制…

Postman快捷功能-批量断言与快速查询替换

大家好,在我们日常的接口测试工作中,经常需要对接口返回的数据进行断言,以确保接口的正确性。当接口数量较多时,逐个编写断言语句会变得非常繁琐。此外,在接口测试过程中,我们还可能需要频繁地查找和替换某…

sql-labs靶场环境搭建(手把手保姆级教学)

文章目录 一、sql-labs靶场简介:二、搭建过程1、资源下载2、配置文件;3、访问网站4、创建数据库 三、使用PhpStudy2018原因 一、sql-labs靶场简介: SQL-Labs 是一个实践环境,旨在用于数据库和 SQL(结构化查询语言&…