我正在尝试使用python从数据库中获取列的列表。
import sqlite3, os, sys
def list(self,search):
conn = sqlite3.connect('a.db')
c = conn.cursor()
c.execute("SELECT sql
FROM sqlite_master
WHERE tbl_name = '" + search + "'
AND type = 'table'")
return c.fetchall()
这不返回列名,而是返回我用来创建表的语句(包括列名,但不是预期的)。 (即CREATE TABLE table (a, b, c, d PRIMARY KEY)
)任何人都可以解释为什么这会有更好的方法来做到这一点吗?
我还尝试了PRAGMA
语句,SELECT * FROM Table WHERE False
和SELECT * FROM tables.columns WHERE tbl_name = ' search '
,但上面(来自How to get a list of column names on sqlite3 / iPhone?)是我最接近答案的返回列名。我需要列名称而不是列中的数据。我不想下载或使用上面没有明确提到的库。有没有列出列名的方法,而不是用于创建表的语句?