如何在 MySQL 中删除表中的一个列?
mysqlmysqli database
我们可以借助 ALTER 命令从表中删除一个列。假设我们创建了一个表,并需要删除其中的一些列。我们可以使用 ALTER 和 DRO[ 命令来实现这一点。
让我们看一个例子。首先,我们将创建一个表。
mysql> create table DeleteColumnNameDemo -> ( -> Id int, -> Name varchar(200), -> Age int, -> Address varchar(200) -> ); Query OK, 0 rows affected (0.59 sec)
上面,我们创建了一个包含四列的表格。下面是查询,通过该查询我们可以查看有关该表格的所有详细信息。
mysql> desc DeleteColumnNameDemo;
以下是输出。
+---------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+-------+ | Id | int(11) | YES | | NULL | | | Name | varchar(200) | YES | | NULL | | | Age | int(11) | YES | | NULL | | | Address | varchar(200) | YES | | NULL | | +---------+--------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)
现在我们的表中有 4 列。现在让我们看看删除列的语法。语法如下。
alter table yourTableName drop column yourColumnName1, drop column yourColumnName2, . . . drop column yourColumnNameN,
现在,让我们从"DeleteColumnNameDemo"表中删除"Age"和"Address"列。应用上述语法删除列。查询如下。
mysql> ALTER table DeleteColumnNameDemo -> drop column Age, -> drop column Address; Query OK, 0 rows affected (3.11 sec) Records: 0 Duplicates: 0 Warnings: 0
我们已经从表中删除了 Age 和 Address 两列。现在让我们借助 DESC 命令检查这些列是否已被删除。
mysql> desc DeleteColumnNameDemo;
以下是输出。我们看不到"Age"和"Address"这两列,因为之前我们已经删除了它们。
+-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | Id | int(11) | YES | | NULL | | | Name | varchar(200) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 2 rows in set (0.05 sec)