当需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令。
我们先创建一张表,表名为:testalter_tbl。
MariaDB [RUNOOB]> create table testalter_tbl
-> (
-> i INT,
-> c CHAR(1)
-> );
Query OK, 0 rows affected (0.04 sec)
MariaDB [RUNOOB]> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| i | int(11) | YES | | NULL | |
| c | char(1) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)
删除,添加或修改表字段
如下命令使用了 ALTER 命令及 DROP 子句来删除以上表的 i 字段:
MariaDB [RUNOOB]> ALTER TABLE testalter_tbl DROP i;
Query OK, 0 rows affected (0.04 sec)
Records: 0 Duplicates: 0 Warnings: 0
MariaDB [RUNOOB]> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| c | char(1) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)
如果数据表中只剩余一个字段则无法使用DROP来删除字段。
MySQL 中使用 ADD 子句来向数据表中添加字段,如下实例在表 testalter_tbl 中添加 i 字段,并定义数据类型:
MariaDB [RUNOOB]> ALTER TABLE testalter_tbl ADD i INT;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
执行以上命令后,i 字段会自动添加到数据表字段的末尾。
MariaDB [RUNOOB]> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------