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)
阅读更多:MySQL 教程