mysql本质是一个CS模式的网络服务,mysql是客户端,mysqld是服务端,提供高效的数据存取方案.数据库系统简单来说是一个数据集合加上管理这个数据集合的程序以及其他先关软件和硬件的集合。这个数据集合成为数据库,管理这个数据库的程序成为数据库管理系统。所以与数据库技术密切相关的概念有数据,数据库,数据库管理系统,数据库系统。
**数据:**数据库存储的基本对象,是描述实物或抽象概念的可存储的有意义的符号。
**数据库:**按照一定的数据模型存储的有组织的数据的集合。
数据库管理系统dataBase Management system简称DBMS,数据库系统的核心部分,是介于操作系统和用户之间的数据库管理软件。包含数据定义动能,数据操纵功能,数据控制功能,数据的组织、存储、和管理功能。
数据库系统是指计算机在引入数据库手的系统,由数据库、数据库管理系统,应用程序和数据库管理员构成
数据库应用程序主要指实现业务逻辑的应用程序,利用数据库管理系统完成特定功能的应用程序,例如管理应用程序。
文件系统其实也可以提供基本的数据存取,但是文件系统没有更好的数据管理能力.
mysql语句:show databases;显示所有数据库,在/etc/my.cnf文件中的datadir就是数据库存储路径,所有数据库都在那个目录下.
create database 数据库名;创建数据库,相当于创建目录
use 数据库名;使用数据库create table 表名;创建表,相当于就是创建文件
不管是创建数据库还是表都是mysqld做的工作,所以数据库本质也是文件.
mysql一般只负责接收sql语句,不负责具体操作,所以在最上层
mysqld有三层结构,第一层是链接层,负责链接管理,安全策略,第二层负责词法分析,语义分析,语句优化,然后通过特定协议向下传递,第三层是存储引擎,像是操作系统的驱动程序,主要负责具体的操作,底层存储引擎有很多,因为针对不同的数据类型,需要不同的存取策略.存储引擎支持热插拔,可以理解引擎为类,需要那个存储引擎就创建那个类的对象.
数据库管理系统是基于操作系统的文件系统之上的应用层软件.
mysql语句分为三类,DDL(data declaration language)数据定义语句,主要用来维护存储数据的结构.
DML(data manipulation language)数据操纵语句,主要用来操作数据.
DCL(data cntrol language)数据控制语句,主要用来权限和事务管理.
**存储引擎:**数据存储,建立文件索引,更新,查询数据等技术的具体实现.
show engines /G语句可以查看系统支持的引擎,常用的存储引擎是innodb和myisam