MySQL是一个可移植的数据库,可以做当前的所有操作系统上运行
mysql基本架构是这样的
这里可以看到,我们本身操作的其实是这个mysql shell和mysql connector
mysql服务器的架构其实是比较复杂的,但是本质上还是基于操作系统的文件管理
sql语言氛围三类
- DDL:Data Definition Lanuage 数据定义语言,主要是对数据库本身的操作,创建数据库、表
- DML:Data Manipulation Language 数据操纵语言,也就是对数据本身的增删改查
- DCL:Data Control Language 数据控制语言,主要是权限和食物的管理
存储引擎
存储引擎主要解决的问题是,如何存储数据,如何给数据建立索引,如何更新查询技术
类似于不同的编译器,虽然C/C++的代码是一样的,但是预处理、编译、汇编、链接这些过程却不尽相同
字符集和校验规则
这里主要区分的是utf8mb3和utf8mb4
在过去的mysql中主要是使用的utf8mb3,但是mysql显示的就是utf8,中mysql8中区分显示了
我们一般通过
create database d1 charset=utf8mb4;
可以设置数据库的字符集,也就是数据按照什么编码存到数据库中
而校验规则主要是区分查的规则,有的规则区分大小写,有的规则不区分,会有一部分的性能差异