Sử dụng AS để đặt alias cho cột TABLE_NAME khi truy vấn từ INFORMATION_SCHEMA.TABLES.
Cú pháp
SELECT TABLE_NAME AS AnyAliasName FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE();
Ví dụ: Alias MY_TABLE_NAME
mysql> SELECT TABLE_NAME AS MY_TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE();
+------------------------------------+ | MY_TABLE_NAME | +------------------------------------+ | a | | accumulateddemo | | add10minutedemo | | ... (408 rows total) | +------------------------------------+
Tại sao không dùng SHOW TABLES trực tiếp?
SHOW TABLESkhông hỗ trợ alias cộtSHOW TABLESkhông cho phép WHERE phức tạp, JOIN, ORDER BY tùy chỉnhINFORMATION_SCHEMA.TABLESlà chuẩn SQL, đầy đủ tính năng SELECT
Mở rộng: Thêm thông tin bảng
SELECT
TABLE_NAME AS TableName,
ENGINE,
TABLE_ROWS,
ROUND(DATA_LENGTH/1024/1024, 2) AS Data_MB,
ROUND(INDEX_LENGTH/1024/1024, 2) AS Index_MB,
TABLE_COLLATION
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = DATABASE()
ORDER BY DATA_LENGTH DESC;
Lọc chỉ BASE TABLE (bỏ VIEW)
SELECT TABLE_NAME AS TableName FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_TYPE = 'BASE TABLE';
MySQL 8.0: SHOW TABLES với alias (không chuẩn)
SHOW TABLES FROM `mydb`; -- Không hỗ trợ AS alias
Vẫn khuyên dùng INFORMATION_SCHEMA cho tính nhất quán và mở rộng.