檢查資料庫是否為空的MySQL查詢?


您可以使用INFORMATION_SCHEMA.COLUMNS來檢查資料庫是否為空。語法如下:

SELECT COUNT(DISTINCT `TABLE_NAME`) AS anyAliasName FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `table_schema` = 'yourDatabaseName';

如果資料庫不為空,上述語法返回表的數量;否則返回0。在我們的示例中,我們使用了之前建立的“sample”和“test3”資料庫。

第一個資料庫“sample”有多個表,因此上述查詢將返回表的數量。第二個資料庫“test3”沒有任何表,因此上述查詢將返回0。

案例1 - sample 資料庫

查詢如下:

mysql> SELECT COUNT(DISTINCT `table_name`) AS TotalNumberOfTables FROM `information_schema`.`columns` WHERE `table_schema` = 'sample';

以下是顯示其中表數量的輸出,因此資料庫不為空:

+---------------------+
| TotalNumberOfTables |
+---------------------+
|                 130 |
+---------------------+
1 row in set (0.01 sec)

案例2 - test3 資料庫

查詢如下:

mysql> SELECT COUNT(DISTINCT `table_name`) AS TotalNumberOfTables FROM `information_schema`.`columns` WHERE `table_schema` = 'test3';

以下是返回0的輸出,因此資料庫為空:

+---------------------+
| TotalNumberOfTables |
+---------------------+
|                   0 |
+---------------------+
1 row in set (0.00 sec)

如上所述,如果得到0,則意味著資料庫中沒有表。

更新於:2019年7月30日

2K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.