📜  MariaDB-Alter命令

📅  最后修改于: 2020-11-27 05:35:04             🧑  作者: Mango


ALTER命令提供了一种更改现有表结构的方法,这意味着进行修改,例如删除或添加列,修改索引,更改数据类型或更改名称。当元数据锁定处于活动状态时,ALTER还等待应用更改。

使用ALTER修改列

与DROP配对的ALTER会删除现有的列。但是,如果该列是唯一剩余的列,它将失败。

查看下面给出的示例-

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;