文章目录
- 什么是数据库
 - 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下是如何表现的呢?
 
- 建立数据库,本质就是Linux下的一个目录。
 - 在数据库内,建立表结构,本质就是在Linux下创建对应的文件。
 - 数据库本质其实也是文件,只不过这些文件不是由用户直接操作,而是由数据库服务帮我们直接进行操作。
 
MySQL架构

连接器层
这一层包括各种客户端连接器和接口,允许用户使用不同的编程语言和工具与MySQL服务器通信。
- JDBC\ODBC.NET\PHP\PYTHON\PERL\C API等连接器
 - 这些连接器允许应用程序通过标准化的接口与MySQL进行交互。
 
客户端层
- 客户端层宝库与MySQL服务器进行通信的各种客户端组件,如命令行工具、图形化界面工具、编程语言中的MySQL链接库等。
 - 客户端负责向服务器发送请求,并处理服务器返回的结果,同时向用户提供交互界面和操作功能。
 
服务层
- 这一层包括MySQL服务器的核心功能,如SQL解析、查询优化、事务管理、权限哦控制、链接管理等。
 - MySQL服务器接收客户端的请求,在查询处理、事务管理和权限控制等方面进行处理,并将结果返回给客户端。
 
存储引擎层
- 存储引擎是MySQL中负责实际数据存储和检索的组件
 - 支持多种可插拔的存储引擎
 - 不同的存储引擎有不同的特性和适用场景。 
  
- InnoDB
 - Merge
 
 
物理存储层
- 这一层负责管理数据在磁盘上的存储,包括表数据文件、索引文件等。
 - 管理数据的物理存储格式和组织结构。
 
SQL分类
- DDL,数据定义语言
用来维护存储数据的结构。主要包括创建、修改和删除数据库对象(表、试图、索引等)- create:用于创建数据库、表、视图、索引等
 - drop:用于删除数据库、表、视图、索引等
 - alter:用于修改现有数据库对象那个的结构,如表的添加或者删除列
 
 - DML,数据控制语言
DML用于对数据库中的数据进行查询和修改,包括插入、更新、删除和查询数据。- insert:用于向表中插入数据
 - update:用于修改表中的数据
 - delete:用于删除表中的数据
 
 
存储引擎
存储引擎:数据库管理系统如何存储数据,如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
- MySQL的核心是插件式存储引擎,支持多种存储引擎。
 
查看存储引擎
show engines;
                


















