创建新表时,可以通过ENGINE在CREATE TABLE语句中添加表选项来 指定要使用的存储引擎:
-- ENGINE=INNODB not needed unless you have set a different
-- default storage engine.
CREATE TABLE t1 (i INT) ENGINE = INNODB;
-- Simple table definitions can be switched from one to another.
CREATE TABLE t2 (i INT) ENGINE = CSV;
CREATE TABLE t3 (i INT) ENGINE = MEMORY;
省略该ENGINE选项时,将使用默认存储引擎。默认引擎 InnoDB在MySQL 8.0中。您可以使用--default-storage-engine服务器启动选项或通过default-storage-engine在my.cnf配置文件中设置 选项来指定默认引擎 。
您可以通过设置default_storage_engine变量来设置当前会话的默认存储引擎 :
SET default_storage_engine=NDBCLUSTER;
可以通过在启动时或运行时设置,来将TEMPORARY用创建 的表的存储引擎与CREATE TEMPORARY TABLE用于永久表的引擎分开设置 default_tmp_storage_engine。
要将表从一个存储引擎转换为另一个存储引擎,请使用ALTER TABLE指示新引擎的 语句:
ALTER TABLE t ENGINE = InnoDB;
如果您尝试使用未编译或已禁用但未编译的存储引擎,则MySQL会使用默认存储引擎创建一个表。例