MariaDB Alter命令怎么用?如何修改表结构和列?

文章导读
上一个 测验 下一个 ALTER 命令提供了一种更改现有表结构的方法,包括删除或添加列、修改索引、更改数据类型或更改名称等修改操作。ALTER 还会等待元数据锁激活时应用更改。
📋 目录
  1. A 使用 ALTER 修改列
  2. B 使用 ALTER 修改表
A A

MariaDB - Alter 命令



上一个
测验
下一个

ALTER 命令提供了一种更改现有表结构的方法,包括删除或添加列、修改索引、更改数据类型或更改名称等修改操作。ALTER 还会等待元数据锁激活时应用更改。

使用 ALTER 修改列

ALTER 与 DROP 结合使用可以删除现有列。但是,如果该列是仅剩的列,则会失败。

查看下面的示例 −

mysql> ALTER TABLE products_tbl DROP version_num;

使用 ALTER...ADD 语句添加列 −

mysql> ALTER TABLE products_tbl ADD discontinued CHAR(1);

使用 FIRST 和 AFTER 关键字指定列的位置 −

ALTER TABLE products_tbl ADD discontinued CHAR(1) FIRST;
ALTER TABLE products_tbl ADD discontinued CHAR(1) AFTER quantity;

注意,FIRST 和 AFTER 关键字仅适用于 ALTER...ADD 语句。此外,必须先删除表然后重新添加才能重新定位表。

通过在 ALTER 语句中使用 MODIFY 或 CHANGE 子句来更改列定义或名称。这些子句效果相似,但语法差异较大。

查看下面的 CHANGE 示例 −

mysql> ALTER TABLE products_tbl CHANGE discontinued status CHAR(4);

在包含 CHANGE 的语句中,先指定原始列,然后指定将替换它的的新列。查看下面的 MODIFY 示例 −

mysql> ALTER TABLE products_tbl MODIFY discontinued CHAR(4);

ALTER 命令还允许更改默认值。查看示例 −

mysql> ALTER TABLE products_tbl ALTER discontinued SET DEFAULT N;

也可以通过与 DROP 子句结合使用来移除默认约束 −

mysql> ALTER TABLE products_tbl ALTER discontinued DROP DEFAULT;

使用 ALTER 修改表

使用 TYPE 子句更改表类型 −

mysql> ALTER TABLE products_tbl TYPE = INNODB;

使用 RENAME 关键字重命名表 −

mysql> ALTER TABLE products_tbl RENAME TO products2016_tbl;