首页 > 解决方案 > 如何使用变量命名表和行

问题描述

所以我试图弄清楚如何使用变量将表与行一起命名。我已经找到了如何使用变量命名表的部分。而且我还尝试使用来自 stackoverflow post的方法 以及我已经拥有的代码,但这并没有成功。

为了更清楚一点:

tableName = "fruits"
rowName1 = "apple"
rowName2 = "pineapple"
rowName3 = "cranberry"
rowName4 = "banana"

并在 CREATE TABLE 中使用所有这些。

我已经拥有的代码:(我使用变量来命名表)


sql_cmd = '''CREATE TABLE {}(test, test2, test3, test4)'''.format(tableName)

dataBaseConnection.execute(sql_cmd)

标签: pythonpython-3.xsqlite

解决方案


这里的问题是您将命令传递给与数据库的连接,而不是游标,并且永远不会提交更改。您的总代码(减去变量定义)应如下所示:

import sqlite3
conn=sqlite3.connect("yourdatabase.db")
c=conn.cursor()
sql_cmd = '''CREATE TABLE {}({}, {}, {}, {})'''.format(
    tableName, rowName1, rowName2, rowName3, rowName4)
c.execute(sql_cmd)
conn.commit()

(我还使用 .format 功能来考虑您的变量)。


推荐阅读