一、mysql与mysqld的理解
1、mysql是数据库服务客户端,mysqld是数据库服务器端
也就是说我们程序员操作的是mysql,把我们的指令交给mysqld来处理,并在磁盘中对文件进行操作,然后操作完的结果返回给mysql让程序员知晓。
2、mysql是一套给我们提供数据存取服务的网络程序。
3、mysql本质是基于C(mysql)S(mysqld)模式的一种网络服务。
二、数据库的理解
1、数据库一般是指将来在磁盘上存储一套数据的方案。
2、数据库本质:对数据内容存储的一套解决方案,你给我字段要求,我给你返回处理结果。
3、在Linux下,建立一个数据库就是在Linux下创建一个目录。
在数据库中建立一个表就是在Linux下创建一个文件。
上述两个操作都是mrsqld做的。
所以数据库本质就是一个文件,程序员通过mysqld来对数据进行操作。
三、服务器,数据库,表之间的关系
四、数据在数据库中的逻辑存储
按行插入,按列修改,行列式结构。
五、MySQL架构
在上层就是程序员操作MySQL的方式,即客户端。
在MySQL SERVER的第一层是链接池,保证用户正确链接,保证安全。
在第二层,他需要对用户的sql语句进行语法分析,传达到下一层(就像是编译器)
在第三层,匹配一个个具体的存储引擎,帮我们访问指定文件,对数据进行增删查改。
MyISAM用于读取一些大文件。
InnoDB用于搜索查找。
六、SQL语句分类
DDL:数据定义语言,用来维护存储数据结构,例如:create,drop,alter
DML:数据操纵语言,用来对数据进行操作,例如:insert,delete,update
DCL:数据控制语言,主要负责权限管理和事务,例如:grant,revoke,commit
七、存储引擎
存储引擎是数据库管理系统如何存储数据,如何为存储数据建立索引和如何更新,查询数据技术
的实现方法。
MySQL核心是插件式存储引擎,支持多种存储引擎。
用指令show engine;查看存储引擎。