簡體   English   中英

mysql按字母順序獲取表列名

[英]mysql get table column names in alphabetical order

是否可以查詢MySQL數據庫以按字母順序獲取表的列名? 我知道

SHOW COLUMNS `table_name`;

要么

DESCRIBE `table_name`;

將為我提供表中列的列表(以及其他信息),但是可以更改查詢以便按字母順序排列列。 添加ORDER BY'Field'不起作用,它給出了語法錯誤。

ANSI INFORMATION_SCHEMA表(在本例中為INFORMATION_SCHEMA.COLUMNS)在MySQL中提供了更大的靈活性:

SELECT c.column_name
  FROM INFORMATION_SCHEMA.COLUMNS c
 WHERE c.table_name = 'tbl_name'
-- AND c.table_schema = 'db_name'    
ORDER BY c.column_name

每個字段都列出兩次,直到我group by column name使用group by column name

 select c.COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS c 
 where c.TABLE_NAME = `'tbl_name'` 
 group by c.column_name 
 order by c.column_name

如果您需要更多詳細信息,請在下面查詢非常方便:

   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;  -- 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM