引擎:(了解内容)
完整的建表语句:
CREATE TABLE `t_x` (
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
注:
建表的时候可以指定存储引擎,也可以指定字符集
MySQL默认使用的存储引擎是InnoDB方式,默认采用的字符集是UTF8
存储引擎这个名字只在MySQL中存在,MySQL支持很多存储引擎,每一个存储引擎对应一种不同的存储方式
查看当前MySQL支持的村粗引擎
show engines \G
常见的存储引擎:
1.MyISAM存储引擎:
1)不支持事务,是MySQL最常用的存储引擎,但不是默认的
2)使用三个文件组织一张表
格式文件-存储表结构的定义(mytable.frm)
数据文件-存储表行的内容(mytable.MYD)
索引文件-存储表上索引(mytable.MYI)
3)优点:可被压缩,节省存储空间,并且可以转换为只读表,提高检索效率
4)缺点:不支持事务
2.InnoDB存储引擎:
1)优点:支持事务、行级锁、外键等,这种存储引擎数据的安全得到保障
2)表的结构存储在xxx.frm文件中
数据存储在tablespace这样的表空间中(逻辑概念),无法被压缩,无法转换成只读
3)这种InnoDB存储引擎在MySQL数据库崩溃后提供自动恢复机制
4)InnoDB存储引擎支持级联删除和级联更新
3.MEMORY存储引擎:
1)缺点:不支持事务,数据容易丢失,因为所有数据和索引都是存储在内存当中
2)优点:查询速度最快