MySql笔记-基础篇-概述
1.mysql是什么
首先mysql是一个数据库,而数据库是用来存储数据的,因此mysql最本质的功能就是负责数据存储
计算机中最常用来存储数据的设备是硬盘,mysql通过操作系统提供的接口将数据保存在硬盘上
如果只需要存储数据,那么使用纯文本不是更好吗,为什么还需要特意使用mysql。这是因为mysql不仅做了存储数据的操作,它还添加了很多辅助的功能
mysql是典型的C/S架构,默认会启动一个后台进程,监听3306端口,负责提供数据的存取功能
在官网下载mysql的zip包,解压之后的目录结构是这样的
其中data目录保存了mysql库中的所有数据,并且每个库使用一个单独的目录存储,客户端取数据时本质就是在读取该目录下的文件
在bin目录下提供了两个最基本的可执行程序,mysqld用来启动mysql后台服务,mysql用来启动一个客户端
当我们第一次安装mysql时,一般都是将其注册为服务开机时自动启动,这样需要使用时直接连接就可以了,其他的可执行程序都是mysql提供的一系列具有特殊用途的工具
直接执行mysql.exe,指定用户名和密码参数就可以连接到mysql数据库了,执行几次mysql.exe就代表启动了几个客户端
理论上只需要使用该客户端就可以完成对mysql数据库的所有操作了,但是cmd窗口对于使用者不太友好,因此出现了很多易于使用的工具,比如navicat等
2.mysql的主要结构
mysql主要由客户端、查询缓存、优化器、存储引擎组成
客户端种类可以有很多,比如mysql.exe,navicat
查询缓存的作用是当客户端需要查询某些数据时,如果该数据上次已经查询过,那么直接返回即可,不需要重新查询,目前已废弃
优化器的作用是优化客户端传来的sql语句,使其更有效率的执行
存储引擎是mysql的特点,它使用可插拔的方式定义数据存储,每种引擎都有其自身的特点,用户可以根据实际的业务需求选择适合的引擎进行数据存储
3.存储引擎
在客户端中输入show engines命令,可以列出当前数据库的所有引擎,其中support表示是否支持
目前使用最广泛的就是InnoDB了,mysql也将其设为了默认的存储引擎
通过在创建表时指定engine可以为每个表指定不同的存储引擎