如何检查 MySQL 表中是否存在某个字段?


要判断某个字段是否存在,我们有以下方法 -

  • 使用 DESC 命令
  • 使用 SHOW 命令

首先,我们将创建一个带字段的表 -

mysql> CREATE table ColumnExistDemo
-> (
-> UniqueId int,
-> UniqueName varchar(200),
-> UniqueAddress varchar(200)
-> );
Query OK, 0 rows affected (0.57 sec)

在第一个方法中,我们将获得整个字段名称以及有意义的信息。语法如下 -

DESC yourTableName;

让我们应用上述查询来检查是否存在字段名称。但是,这种方法不好,因为它显示了所有字段。

mysql> DESC ColumnExistDemo;

输出如下

+---------------+--------------+------+-----+---------+-------+
| Field         | Type         | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| UniqueId      | int(11)      | YES  |     | NULL    |       |
| UniqueName    | varchar(200) | YES  |     | NULL    |       | 
| UniqueAddress | varchar(200) | YES  |     | NULL    |       |
+---------------+--------------+------+-----+---------+-------+
3 rows in set (0.01 sec)

第二个方法更好,因为我们可以检查单个字段。语法如下 -

SHOW COLUMNS from `yourTableName` LIKE 'yourColumnName';

现在,我正在应用上述查询来检查是否存在字段。查询如下 -

mysql> SHOW COLUMNS from `ColumnExistDemo` LIKE 'UniqueName';

输出如下

+------------+--------------+------+-----+---------+-------+
| Field      | Type         | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| UniqueName | varchar(200) | YES  |     | NULL    |       |
+------------+--------------+------+-----+---------+-------+
1 row in set (0.00 sec)

更新于: 2020 年 6 月 25 日

5 千+ 浏览量

启动你的 职业

完成课程并获得认证

开始学习
广告
© . All rights reserved.