是否可以查询MySQL数据库以获得按字母顺序排列的表的列名?我知道
SHOW COLUMNS `table_name`;或
DESCRIBE `table_name`;将给我一个表中的列的列表(以及其他信息),但它可以改变查询,以获得列按字母顺序排序。按“Field”添加ORDER不起作用,它给出一个语法错误。
发布于 2010-09-25 05:39:29
ANSI INFORMATION_SCHEMA tables (in this case, 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发布于 2015-12-16 22:56:36
在我使用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发布于 2017-01-11 02:07:11
如果你想要更多的细节,下面的查询非常方便:
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; -- https://stackoverflow.com/questions/3791123
复制相似问题