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

Alias cho SHOW TABLES trong kết quả MySQL?

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 TABLES không hỗ trợ alias cột
  • SHOW TABLES không cho phép WHERE phức tạp, JOIN, ORDER BY tùy chỉnh
  • INFORMATION_SCHEMA.TABLES là 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.