【问题标题】:How to get just the fields from a table in MySQL?如何从 MySQL 中的表中获取字段?
【发布时间】:2016-08-17 12:41:32
【问题描述】:

我知道您可以使用DESCRIBE tablename; 来获取表的描述,包括字段、类型、空值、键、默认值和额外。但是,有没有办法只获取 Field 列而不获取其余列(最好采用易于使用的格式,例如在 Python 中)?我知道我可以在 Python 中进行一些解析,但我更愿意以最简洁的形式从 MySQL 中获取它。

我发现了一个类似的问题here,但他们都没有回答我的问题。

对于它的价值,我正在通过 Python3 中的 PyMySQL 与 MySQL 进行交互,并且我使用的是 MySQL 服务器版本 5.1.73。感谢您的帮助!

【问题讨论】:

  • 在 Python 中,使用连接/游标类 (MySQLCursor) 并在运行查询后查询游标类的列名。
  • INFORMATION_SCHEMA.COLUMNS 有什么问题?

标签: python mysql pymysql


【解决方案1】:

根据我上面的评论,以及您自己的链接,以及首先想到的,怎么样

select column_name from INFORMATION_SCHEMA.COLUMNS
where table_schema='stackoverflow'
and table_name='questions'

我的数据库名和表名在 where 子句中

【讨论】:

  • 感谢德鲁的帮助!我最终得到了我想要的 SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='...'; 至于格式,我想我会坚持使用它在 Python 中提供的字典列表。
  • @Logan 您需要 AND TABLE_SCHEMA='...' 在您的查询中,否则一旦在同一服务器上的不同架构中创建具有相同名称的表,您的查询会给你不正确的结果。如果列名的顺序很重要,您还应该添加ORDER BY ORDINAL_POSITION,以便结果的顺序是确定的。
猜你喜欢
  • 2014-02-21
  • 2011-02-01
  • 2012-05-02
  • 1970-01-01
  • 1970-01-01
  • 2013-03-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多