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

Hiển thị tất cả tên cột của một bảng trong MySQL

Vấn đề: Liệt kê tên các cột (fields) của bảng cụ thể

Cần xem cấu trúc bảng DemoTable1938 – tên các cột.

Giải pháp: Truy vấn information_schema.columns

Bảng hệ thống lưu metadata cột. Lọc theo table_schema (database hiện tại) và table_name.

1. Tạo bảng mẫu

CREATE TABLE DemoTable1938 (
    StudentId INT,
    StudentName VARCHAR(20),
    StudentAge INT,
    StudentCountryName VARCHAR(20),
    StudentMobileNumber BIGINT
);

2. Truy vấn liệt kê cột

SELECT column_name AS ALL_FIELDS 
FROM information_schema.columns 
WHERE table_schema = DATABASE() 
  AND table_name = 'DemoTable1938';

Sử dụng DATABASE() hàm trả về tên database hiện tại. \G ở cuối để hiển thị dọc (vertical format).

3. Kết quả (dạng dọc \G)

*************************** 1. row ***************************
ALL_FIELDS: StudentId
*************************** 2. row ***************************
ALL_FIELDS: StudentName
*************************** 3. row ***************************
ALL_FIELDS: StudentAge
*************************** 4. row ***************************
ALL_FIELDS: StudentCountryName
*************************** 5. row ***************************
ALL_FIELDS: StudentMobileNumber

Cách khác phổ biến hơn

DESC DemoTable1938;
-- hoặc
SHOW COLUMNS FROM DemoTable1938;

Cho kết quả bảng ngang với thêm thông tin: Type, Null, Key, Default, Extra.

Ứng dụng

  • Dynamic SQL – xây dựng câu lệnh tự động dựa trên schema.
  • Tool migration, ORM – đọc metadata.
  • Kiểm tra sự tồn tại cột trước khi ALTER TABLE.

Mở rộng: Lấy thêm kiểu dữ liệu

SELECT column_name, data_type, character_maximum_length, is_nullable, column_key
FROM information_schema.columns
WHERE table_schema = DATABASE() AND table_name = 'DemoTable1938';