存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存 储引擎也可被称为表类型。也就是我们创建表的时候,其实是可以指定存储引擎的,否则就使用默认的存储引擎InnoDB
如何知道我们在之前创建表时的存储引擎
xxxxxxxxxx
show create table 表名;
上面那行会查询到我们对这张表的建表语句,包括表结构、数据、字符集、排序方式、注释信息。如下 1、ENGINE=InnoDB,即该表的默认存储引擎为InnoDB 2、AUTO_INCREMENT=下一次id ,注意如果没有设置自增的话,就不会有这行关键字 3、DEFAULT CHARSET=utf8mb4,即该表的默认字符集是utf8mb4 4、COLLATE=utf8mb4_0900_ai_ci,即该表的排序方式 5、COMMENT='表的注释'
如何在创建表时指定存储引擎,例如指定表的存储引擎为innodb
create table 表名(
字段1 字段1类型 [comment 字段1注释],
...
字段n 字段n类型 [comment 字段n注释]
) engine = innodb [comment 表注释];
如何知道在当前MySQL数据库中,到底支持哪些存储引擎,以及各个存储引擎的特点
show engines;
上面那行查询到的是引擎、是否支持、注释、事务、协议、保存点。如下 1、Engine,指的是所有引擎 2、Support,指的是当前MySQL数据库否支持该引擎 3、Comment,指的是引擎的注释 4、Transactions,指的是当前引擎是否支持事务 5、XA,指的是当前引擎是否支持协议 6、Savepoints,指的是当前引擎是否支持保存点