第 26.1 节:更改存储引擎;重建表;更改 file_per_table
例如,如果 t1 当前不是 InnoDB 表,以下语句会将其存储引擎更改为 InnoDB:
ALTER TABLE t1 ENGINE = InnoDB;
如果该表已经是 InnoDB,这将重建表及其索引,效果类似于 OPTIMIZE TABLE。你可能会获得一些磁盘空间的改善。
如果 innodb_file_per_table 的当前值与 t1 构建时的值不同,这将转换为(或从)file_per_table。
第 26.2 节:更改表的列
CREATE DATABASE stackoverflow;
USE stackoverflow;
CREATE TABLE stack (
id_user INT NOT NULL,
username VARCHAR(30) NOT NULL,
password VARCHAR(30) NOT NULL
);
ALTER TABLE stack ADD COLUMN submit DATE NOT NULL; -- 添加新列
ALTER TABLE stack DROP COLUMN submit; -- 删除列
ALTER TABLE stack MODIFY submit DATETIME NOT NULL; -- 修改列类型
ALTER TABLE stack CHANGE submit submit_date DATETIME NOT NULL; -- 更改列的类型和名称
ALTER TABLE stack ADD COLUMN mod_id INT NOT NUL


253

被折叠的 条评论
为什么被折叠?



