数据库意义
更加利于管理的东西-数据库,他能有效的管理数据
举例一个生活化的案例说明
如果说,图书馆是保存书籍的,那么数据库技术保存数据的
数据库的简单原理图
Mysql数据库三层结构与本质
数据库管理系统与 mysqld:MySQL 数据库管理系统(DBMS)中,
mysqld
是 MySQL 服务器的守护进程。它负责处理客户端的连接请求,执行 SQL 语句,管理数据库的存储、事务等核心功能。可以说mysqld
是 MySQL 数据库管理系统运行的关键组件,但不能简单地说数据库管理系统就对应mysqld
,数据库管理系统还包括客户端工具(如mysql
命令行客户端等)、配置文件等其他部分。端口监听:
mysqld
进程默认监听在 3306 端口(可以通过配置修改),用于接收来自客户端的连接请求。客户端通过连接到这个端口与 MySQL 服务器进行通信,发送 SQL 语句并获取结果。数据库与数据文件夹:在 MySQL 中,每个数据库确实在文件系统中有对应的文件夹(在数据目录下,数据目录位置可配置)。每个数据库文件夹下存储着与该数据库相关的文件,包括表的数据文件、索引文件等。
表与数据文件:每个表在数据库文件夹下通常有对应的文件来存储数据和索引。不同的存储引擎(如 InnoDB、MyISAM 等)存储表数据和索引的方式有所不同。例如,InnoDB 存储引擎的表数据和索引通常存储在共享的表空间文件中(也可以配置为独立表空间),而 MyISAM 存储引擎的表会有
.frm
(表结构定义文件)、.MYD
(数据文件)、.MYI
(索引文件) 等。MySQL 的三层结构:
- 客户端层:包括各种客户端工具,如
mysql
命令行客户端、图形化管理工具(如 phpMyAdmin、Navicat 等)。客户端层负责与用户交互,接收用户输入的 SQL 语句,并将其发送到服务器层,同时接收服务器返回的结果并展示给用户。 - 服务器层:这是 MySQL 的核心部分,包含了查询解析器、优化器、缓存、事务管理器等组件。
mysqld
进程主要运行在这一层。查询解析器负责解析客户端发送的 SQL 语句,优化器对查询进行优化以确定最佳的执行计划,缓存用于存储查询结果和数据以提高性能,事务管理器负责管理事务的提交、回滚等操作。 - 存储引擎层:MySQL 支持多种存储引擎(如 InnoDB、MyISAM、Memory 等),每个存储引擎负责实际的数据存储和检索操作。不同的存储引擎具有不同的特点和适用场景,例如 InnoDB 支持事务、行级锁,适合处理高并发和数据一致性要求高的场景;MyISAM 不支持事务,采用表级锁,适合简单的只读或读多写少的应用场景。
- 客户端层:包括各种客户端工具,如
数据库基础指令之数据库指令
创建数据库db01
//如果不指定字符集和校验规则,就会根据不同的数据库默认字符集和校验规则
删除数据库db01
创建一个字符集为utf8的数据库db02
创建一个使用utf8字符集,并带校对规则的db03数据库
校对规则 utf8_bin 区分大小写 默认utf8_general_ci 不区分大小写
如果建表不设置字符集和校对规则默认使用数据库的
查看当前数据库服务器中的所有数据库
查看前面创建的数据库的定义信息
备份数据库
这个备份的文件 里面存的就是对应的sql语句
第二个恢复数据库的方法
直接将bak.sql的内容放到查询编译器中,执行
创建表
为什么名称要使用 ` `符号 ,防止与关键字冲突
这里的engine是存储引擎