使用 MySQL 中的 CASE WHEN 获得表是否存在布尔结果


为此,可以使用 INFORMATION_SCHEMA.TABLES 查找要搜索的表。我们先创建一个表 −

mysql> create table DemoTable
   -> (
   -> Id int,
   -> Name varchar(20)
   -> );
Query OK, 0 rows affected (1.57 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable values(101,'Chris');
Query OK, 1 row affected (0.71 sec)
mysql> insert into DemoTable values(102,'David');
Query OK, 1 row affected (0.20 sec)

使用 select 语句显示表中的所有记录 −

mysql> select *from DemoTable;

这将产生以下输出 −

+------+-------+
|   Id | Name  |
+------+-------+
|  101 | Chris |
|  102 | David |
+------+-------+
2 rows in set (0.00 sec)

以下是对表是否存在进行检查的查询 −

mysql> select max(case when table_name = 'DemoTable' then 'Yes the table
exist(TRUE)' else 'No(FALSE)' end) AS isTableExists
   -> from information_schema.tables;

这将产生以下输出 −

+-------------------------------+
| isTableExists                 |
+-------------------------------+
| Yes the table exist(TRUE)     |
+-------------------------------+
1 row in set (0.52 sec)

更新于:2019-12-13

268 次浏览

开始你的 职业

完成课程获取认证

开始
广告