Computer >> Máy Tính >  >> Lập trình >> MySQL

Truy vấn MySQL để kiểm tra xem cơ sở dữ liệu có trống hay không?

Bạn có thể sử dụng INFORMATION_SCHEMA.COLUMNS để kiểm tra xem cơ sở dữ liệu có trống hay không. Cú pháp như sau -

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

Cú pháp trên trả về 0 nếu cơ sở dữ liệu đáng chú ý, nếu không, nó trả về số lượng bảng. Ví dụ:chúng tôi đang sử dụng cơ sở dữ liệu ‘sample’ và ‘test3’ mà chúng tôi đã tạo trước đây.

Cơ sở dữ liệu đầu tiên ‘mẫu’ có nhiều bảng hơn, do đó truy vấn trên sẽ trả về một số bảng. Cơ sở dữ liệu thứ hai ‘test3’ không có bất kỳ bảng nào, do đó, truy vấn trên sẽ trả về 0.

Trường hợp 1 - Mẫu cơ sở dữ liệu

Truy vấn như sau -

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

Sau đây là kết quả hiển thị số lượng bảng trong đó, do đó cơ sở dữ liệu không trống -

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

Trường hợp 2 - Kiểm tra cơ sở dữ liệu3

Truy vấn như sau -

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

Sau đây là kết quả trả về 0, do đó cơ sở dữ liệu trống -

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

Như đã đề cập ở trên, nếu chúng ta nhận được 0, điều đó có nghĩa là không có bảng nào trong cơ sở dữ liệu.