select * from information_schema.columns
where table_schema = 'your_db'
order by table_name,ordinal_position
3
要列出MySQL中表的所有字段:
select *
from information_schema.columns
where table_schema = 'your_DB_name'
and table_name = 'Your_tablename'
2
SELECT * FROM information_schema.columns
WHERE table_schema = DATABASE()
ORDER BY table_name, ordinal_position
因为我不是't have enough rep to comment, here'对于nick rulez的优秀答案而言(在我看来)是一个小改进:用 WHERE table_schema = DATABASE() 替换 WHERE table_schema = 'your_db' .
2
最好使用以下查询轻松获取所有列名
Show columns from tablename
15
如果它对其他任何人都有用,那么这将为您提供以逗号分隔的每个表中列的列表:
SELECT table_name,GROUP_CONCAT(column_name ORDER BY ordinal_position)
FROM information_schema.columns
WHERE table_schema = DATABASE()
GROUP BY table_name
ORDER BY table_name
10 回答
要列出MySQL中表的所有字段:
因为我不是't have enough rep to comment, here'对于nick rulez的优秀答案而言(在我看来)是一个小改进:用
WHERE table_schema = DATABASE()
替换WHERE table_schema = 'your_db'
.Show columns from tablename
如果它对其他任何人都有用,那么这将为您提供以逗号分隔的每个表中列的列表:
注意:使用具有大量列和/或长字段名称的表时,请注意group_concat_max_len限制,这可能导致数据被截断 .
与answer posted by @suganya类似,这并没有直接回答问题,但是对于单个表来说是一个更快的替代方案:
我很久以前写过这个愚蠢的东西,但实际上还是偶尔使用它:
https://gist.github.com/kphretiq/e2f924416a326895233d
基本上,它会在每个表格上显示“SHOW TABLES”,然后是“DESCRIBE”,然后将其作为降价点出来 .
只需在“if name ”下方编辑即可 . 你需要安装pymysql .
用一些可读的PHP捎带尼古拉的回答
问题是:
SQL to get all information for each column
SQL to get all COLUMN NAMES