Khi bạn thực hiện SHOW COLUMNS
hoặc DESCRIBE TABLE
, bạn thực sự chỉ sử dụng cơ sở dữ liệu đặc biệt nội tuyến được gọi là INFORMATION_SCHEMA
để lấy thông tin về bảng được đặt tên. Điều thú vị là, có vẻ như không trả lại thông tin dưới dạng bảng, vì vậy không thể lấy dữ liệu được trả về bởi các hàm đó để hoạt động như một bảng (để phân loại, truy vấn phụ, v.v ...).
May mắn thay, bạn có thể thiết lập truy vấn của riêng bạn để thực hiện tra cứu giống như hiển thị hoặc MÔ TẢ:
select COLUMN_NAME as 'Field',
COLUMN_TYPE as 'Type',
IS_NULLABLE as 'Null',
COLUMN_KEY as 'Key',
COLUMN_DEFAULT as 'Default',
EXTRA as 'Extra'
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'my table' and
TABLE_SCHEMA = 'my database'
-- add ordering --
order by Type;
Ngoài để OP: Cảm ơn đã cho tôi động lực để tìm kiếm làm thế nào để làm điều này một lần nữa. Tôi đã từng biết cách làm điều này nhưng đã quên.
Có liên quan, nếu bạn quan tâm, tôi đã viết * Mô tả tất cả các bảng * trong [Câu trả lời này] (http://stackoverflow.com/a/38679580). Bạn có thể thay đổi thứ tự 'by' bằng cách thoát ra khỏi cmd của chúng và đi vào loại linh hoạt này. – Drew