本文介绍了python:MYSQLdb.如何在不执行大表中的select *的情况下获取列名?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想获取一个表的列名,但是其中有超过一百万个数据.所以我不能使用:
I want to get the column names of a table, but there a over million data in it.So I cannot use:
cursor.execute("SELECT * FROM table_name")
print cursor.description
在sqlite3中,我是这样做的
And in sqlite3, I do it this way
crs.execute("PRAGMA table_info(%s)" %(tablename[0]))
for info in crs:
print info
但是这在python mysqldb中不起作用.有人知道怎么做吗?
But this is not working in python mysqldb. Any one know how to do that?
推荐答案
您可以使用 SHOW columns
:
You can use SHOW columns
:
cursor.execute("SHOW columns FROM table_name")
print [column[0] for column in cursor.fetchall()]
仅供参考,这与使用 desc
:
FYI, this is essentially the same as using desc
:
cursor.execute("desc table_name")
print [column[0] for column in cursor.fetchall()]
这篇关于python:MYSQLdb.如何在不执行大表中的select *的情况下获取列名?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!