Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Kiểm tra database MySQL có rỗng không (không có bảng)

Tóm tắt

Truy vấn INFORMATION_SCHEMA.COLUMNS đếm số bảng distinct – trả về 0 nếu database rỗng (không có bảng).

Truy vấn

SELECT COUNT(DISTINCT TABLE_NAME) AS TotalTables
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'ten_database';

Ví dụ 2 trường hợp

Database 'sample' (có bảng)

SELECT COUNT(DISTINCT TABLE_NAME) AS TotalTables
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'sample';
-- Kết quả: 130 bảng

Database 'test3' (rỗng)

SELECT COUNT(DISTINCT TABLE_NAME) AS TotalTables
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'test3';
-- Kết quả: 0

Cách khác

  • SHOW TABLES FROM ten_database – trả về danh sách, rỗng nếu không có bảng.
  • SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'db' – đếm từ TABLES (bao gồm VIEW).
  • SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'db' AND TABLE_TYPE = 'BASE TABLE' – chỉ bảng cơ sở.

Lưu ý

  • Database vừa tạo (CREATE DATABASE) chưa có bảng → COUNT = 0.
  • Quyền: cần SELECT trên INFORMATION_SCHEMA (mặc định user thường có).
  • VIEW cũng xuất hiện trong COLUMNS – COUNT(DISTINCT TABLE_NAME) đếm cả view. Dùng TABLES + TABLE_TYPE='BASE TABLE' để chỉ đếm bảng.