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

Lấy tên cột viết thường (lowercase) từ INFORMATION_SCHEMA trong MySQL

Để lấy danh sách tên cột của một bảng và chuyển về chữ thường, truy vấn view INFORMATION_SCHEMA.COLUMNS kết hợp hàm LOWER().

Tạo bảng mẫu

mysql> CREATE TABLE DemoTable (
    UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    UserFirstName VARCHAR(20),
    UserLastName VARCHAR(20),
    UserAge INT,
    UserCountryName VARCHAR(20)
);

Truy vấn lấy tên cột chữ thường

mysql> SELECT LOWER(COLUMN_NAME) 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'DemoTable';

Kết quả

+--------------------+
| LOWER(COLUMN_NAME) |
+--------------------+
| userid             |
| userfirstname      |
| userlastname       |
| userage            |
| usercountryname    |
+--------------------+

Mở rộng: Lấy thêm thông tin cột

SELECT 
    LOWER(COLUMN_NAME) AS column_name,
    DATA_TYPE,
    CHARACTER_MAXIMUM_LENGTH,
    IS_NULLABLE,
    COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() 
  AND TABLE_NAME = 'DemoTable';

Ứng dụng

  • Sinh code tự động (ORM, DTO, Entity) cần naming convention snake_case/lowercase.
  • So sánh schema giữa các môi trường (dev, staging, prod) không phân biệt hoa/thường.
  • Tạo dynamic SQL an toàn hơn.

Lưu ý: TABLE_NAME trong INFORMATION_SCHEMA.COLUMNS phân biệt chữ hoa/thường tùy lower_case_table_names system variable. Trên Linux thường phân biệt, Windows/Mac thường không. Nên dùng TABLE_NAME = 'DemoTable' chính xác như khi tạo.