从 MySQL 中的表中删除一列

Faith Kilonzi 2023年1月30日
  1. 创建 MySQL 数据库
  2. 从 MySQL 表中删除单个列
  3. 从 MySQL 表中删除多个列
  4. 结论
从 MySQL 中的表中删除一列

我们有时可能需要从数据库表中删除单个或多个列。MySQL 中的 ALTER TABLE DROP COLUMN 命令语句可以从表中删除一列。

以下是完成此操作的常用语法:

ALTER TABLE table_name DROP COLUMN column_name;

以下是对上述语法的解释:

  • 将删除列的表的名称。
  • DROP COLUMN 短语定义要删除的列及其名称。

本文将引导你从 MySQL 中的表中删除列。

创建 MySQL 数据库

第 1 步:创建 MySQL 数据库和表

第一步是创建一个数据库和一个表来展示上面的方法。

CREATE DATABASE CountryDB;
USE CountryDB;

CREATE TABLE tbl_Country
 (
     CountryId INT NOT NULL AUTO_INCREMENT,
     CountryCode varchar(50),
     CountryName varchar(50),
     IsActive bit,
     IsDeleted bit,
     PRIMARY KEY (CountryId) 
 );

第 2 步:将数据插入 MySQL 表

要将数据插入到已创建的 tbl_Country 表中,请粘贴并运行提供的代码片段。

INSERT INTO tbl_Country (CountryCode,CountryName,IsActive,IsDeleted)
VALUES ("A","Country A",1, 1), 
		("B","Country B",1,0),
		("C","Country C",1, 1), 
		("D","Country D",1,1);

要查看输出,请运行 SELECT 命令。

SELECT * FROM tbl_Country;

输出:

| CountryId | CountryCode | CountryName | IsActive | IsDeleted |
| :-------- | :---------- | :---------- | :------- | :-------- |
| 1         | A           | Country A   | 1        | 1         |
| 2         | B           | Country B   | 1        | 0         |
| 3         | C           | Country C   | 1        | 1         |
| 4         | D           | Country D   | 1        | 1         |

第 3 步:从 MySQL 中的表中删除列

你可以使用 alter table MySQL 命令从下表中删除一列。

删除表列的一般语法如下所示。

alter table <tblname> drop column <colname>

在这种情况下,要从 tbl_Country 表中删除 IsDeleted 列,请粘贴以下代码。

ALTER TABLE tbl_Country DROP COLUMN IsDeleted;

从 MySQL 表中删除单个列

从 MySQL 表中删除单个列的语法如下。

ALTER TABLE tbl_Country DROP COLUMN IsDeleted;

要查看上述命令的输出,请运行 SELECT 命令。

SELECT * FROM tbl_Country; 
| CountryId | CountryCode | CountryName | IsActive |
| :-------- | :---------- | :---------- | :------- |
| 1         | A           | Country A   | 1        |
| 2         | B           | Country B   | 1        |
| 3         | C           | Country C   | 1        |
| 4         | D           | Country D   | 1        |

从 MySQL 表中删除多个列

MySQL 还提供了多列的删除。假设你要同时删除多个列,请使用以下查询,列名用逗号分隔。

ALTER TABLE tbl_Country
  DROP COLUMN IsActive,
  DROP COLUMN CountryName;

使用下面的代码显示结果:

SELECT * FROM tbl_Country; 

输出:

| CountryId | CountryCode |
| :-------- | :---------- |
| 1         | A           |
| 2         | B           |
| 3         | C           |
| 4         | D           |

结论

数据库中的列包含用于在表中存储特定行的值的单元格。上面的讨论涵盖了在 MySQL 中使用 ALTER TABLE 命令向你展示如何从给定列名的表中删除列。

由于 MySQL 是一个关系数据库,因此必须注意列删除会影响数据库系统内的关系约束及其在查询执行期间的性能。

相关文章 - MySQL Database

相关文章 - MySQL Table