Giới thiệu
Để kiểm tra xem một bảng có tồn tại trong database hiện tại, cách tiêu chuẩn và tin cậy nhất là truy vấn view INFORMATION_SCHEMA.TABLES.
Cú pháp
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'ten_bang_can_kiem_tra';
Ví dụ minh họa
Bước 1: Tạo bảng
CREATE TABLE DemoTable2032 (
ClientId INT,
ClientName VARCHAR(20),
ClientAge INT,
ClientCountryName VARCHAR(20)
);
Bước 2: Kiểm tra sự tồn tại
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'DemoTable2032';
Kết quả:
+---------------+
| TABLE_NAME |
+---------------+
| demotable2032 |
+---------------+
1 row in set (0.00 sec)
Lưu ý:
- MySQL trên hệ điều hành không phân biệt chữ hoa/thường (Windows) sẽ trả về tên bảng in thường.
- Có thể dùng
SHOW TABLES LIKE 'DemoTable2032'nhưng cáchINFORMATION_SCHEMAlinh hoạt hơn (có thể lọc theo schema, engine, v.v.). - Trong stored procedure, thường dùng
IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES ...)để rẽ nhánh logic.