1 / 16
文档名称:

MySQL培训资料.doc

格式:doc   大小:620KB   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MySQL培训资料.doc

上传人:zhangkuan1436 2018/5/25 文件大小:620 KB

下载得到文件列表

MySQL培训资料.doc

文档介绍

文档介绍:常用MySQL知识点
一、知识点目录
(1)MySQL体系结构
(2)常用表引擎
(3)数据类型
(4)sql语句(和Oracle有区别的)
(5)常用字符、数值、日期函数等
(6)字符集问题
(7)SQL_MODE
(8)并发控制、事务,,锁定机制
(9)用户、权限、安全
(10)索引
(11)SQL执行计划及优化
(12)查询缓存
(13)MySQL高可用集群:主从replication,NDB cluster
(14)预编译、全文索引、merge tables和分区支持。
二、细节知识点
1、mysql体系结构
MySQL体系结构大概分为三层:
顶层:处理connection请求,安全认证等
第二层:这一层是MySQL的核心,包括代码解析,优化,缓存,以及内置函数,过程视图、触发器都在这一层工作。
第三层:存储引擎层,这一层用来存储和获取数据,有点像linux的文件系统,存储引擎通过API仅和MySQL服务器进行通信?????????????,存储引擎并不解析SQL语句,也不和其他进行通信。每种存储引擎都有自己的优点和缺点。
2、常用表引擎
MySQL AB引入了新的插件式存储引擎体系结构,允许将存储引擎加载到正在运新的MySQL服务器中。
Mysql支持引擎:MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDB cluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中InnoDB、BDB支持事务安全,其他都是非事务表(ACID),其中MyISAM是MySQL的默认存储引擎,即不指定其他引擎时默认就是MyISAM引擎,当然也可以通过storage engine更改默认引擎
mysql> show variables like 'stor%';
查看当前数据库引擎:mysql> show engines \G
在创建表或alter table的时候可以通过指定engine参数指定存储引擎。
MyISAM:默认的MySQL插件式存储引擎,因为采用表级锁,所以适合以读操作和插入操作为主,而只有很少的删除和更新操作的环境,不支持事务,即无法回滚,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。
InnoDB:用于事务处理应用程序,包括ACID事务支持,支持外键,。采用行级锁,可以大大降低而删除和更新导致的锁定,mit和rollback,对于计费、金融对数据准确定要求较高的系统。
BDB:可替代InnoDB的事务引擎,MIT、ROLLBACK和其他事务特性
Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问,对表的大小有限制,通常用于更新不频繁的小表。
Merge:允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们,这样可以突破单表MyISAM的大小限制,对于诸如数据仓储等VLDB环境十分适合
Cluster/NDB:MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。。
3、数据类型
数值型
整数类型
存储字节
属性
最小、最大值
tinyint
1
Auto_increment
unsigned
zerofill
有符号: -~-1
无符号: 0~-1
Smallint
2
Auto_increment
Unsigned
zerofill
有符号: -~-1
无符号: 0~-1
Mediumint
3
Auto_increment
Unsigned
zerofill
有符号: -~-1
无符号: 0~-1
Int、integer
4
Auto_increment
Unsigned
zerofill
有符号: -~-1
无符号: 0~-1
Bigint
8
Auto_increment
Unsigned
zerofill
有符号: -~-1
无符号: 0~-1
这些数据类型也可以指定宽度,例如int(4),意味着如果插入数值宽度小于指定的4,则自动从左侧用空格填满宽度,并不限制保存的值的最大和最小值。当指定zerofill属性时,则默认使用unsigned即无符号,此时填充有空格改为0。属性auto_increment,用于产生唯一标识符或顺序值,仅用于整数类型,一个表中只能有一个auto_increment的列,对于任何想使用auto_increment的列,应该定义为not null,并并定义为primary key或uniq