一、MySQL概述
MySQL是关系型数据库、与其他数据库相比虽不完美,却足够灵活,能够适应多种环境,例如LAMP架构和LNMP架构的web应用。。同事也可以嵌入到应用程序中,也支持数据库仓库、内容索引和不说软件、高可用冗余系统以及在线事务处理系统(OLTP)等各种应用类型。
MySQL最与众不同的当属他的数据存储引擎架构,这种架构的设计在查询处理及其他系统任务和数据的存储/提取相分离。这种处理和存储分离的设计可以在使用时根据性能、特性以及其他需求来选择数据的存储方式。
如图1.1展示了MySQL的逻辑架构图。
逻辑结构从上至下依次为连接器、MySQL的核心服务层和存储引擎层;
第一层:连接器 链接客户端,提供应用接口等
第二层:MySQL的核心功能层 MySQL管理层,查询解析、分析、优化、缓存及所有的内置函数等,所有需要跨存储引擎的功能都在该层实现:存储过程、触发器和视图等。
第三层:存储引擎层 存储引擎负责MySQL中数据的存储和提取。每个存储引擎均有其优劣势。服务器通过API与存储引擎进行通信。这些接口屏蔽了不同存储引擎之间的差异,使得这些差异对上层的查询过程透明。存储引擎API包含几十个底层函数,用于执行注入事务等操作。但、存储引擎不会解析SQL,不同存储引擎之间也不会相互通信,而只是简单地相应上层服务器的请求。
二、认识SQL:
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
SQL语言结构
结构化查询语言包含6个部分:
一:数据查询语言(DQL:Data Query Language):
其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。
二:数据操作语言(DML:Data Manipulation Language):
其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。
三:事务处理语言(TPL):
它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。
四:数据控制语言(DCL):
它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。
五:数据定义语言(DDL):
其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。
六:指针控制语言(CCL):
它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。
本文出自 “小熊运维” 博客,请务必保留此出处http://maoxiaoxiong.blog.51cto.com/11705634/1981577
原文地址:http://maoxiaoxiong.blog.51cto.com/11705634/1981577