Python 使用函数获取列名Sqlite3
我有一个简短的问题要问我的一个班级;它涉及在python中构建一个函数,该函数以sqlite数据库名和表名作为参数,并返回该表中的列名 到目前为止,我已经做了以下工作:Python 使用函数获取列名Sqlite3,python,python-2.7,sqlite,Python,Python 2.7,Sqlite,我有一个简短的问题要问我的一个班级;它涉及在python中构建一个函数,该函数以sqlite数据库名和表名作为参数,并返回该表中的列名 到目前为止,我已经做了以下工作: #!/user/bin/env python import sqlite3 import pprint pp = pprint.PrettyPrinter() def print_table_columns(database_name, table_name): conn = sqlite3.connect(data
#!/user/bin/env python
import sqlite3
import pprint
pp = pprint.PrettyPrinter()
def print_table_columns(database_name, table_name):
conn = sqlite3.connect(database_name)
c = conn.cursor()
c.execute('SELECT sql FROM sqlite_master WHERE type=\'table\' AND name=\'table_name\'')
print c.fetchall()
conn.close()
遗憾的是,这段代码生成了一个空列表。我怀疑execute函数中的SQL命令没有使用Python中定义的变量,但我不确定。在此方面的任何帮助都将不胜感激。当然,您需要参数化查询:
其中,?
是一个占位符,sqlite3
将填充查询参数(table\u name
此处)。当然,您需要参数化查询:
其中,?
是一个占位符,sqlite3
将用查询参数填充(table\u name
)
c.execute("""
SELECT
sql
FROM
sqlite_master
WHERE
type = 'table' AND
name = ?""", (table_name, ))