python - 如何使用变量命名表和行
问题描述
所以我试图弄清楚如何使用变量将表与行一起命名。我已经找到了如何使用变量命名表的部分。而且我还尝试使用来自 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)
解决方案
这里的问题是您将命令传递给与数据库的连接,而不是游标,并且永远不会提交更改。您的总代码(减去变量定义)应如下所示:
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 功能来考虑您的变量)。
推荐阅读
- ravendb - 在 RavenBD 中将 JSON 对象存储为属性的最佳实践?
- php - php sql 查询:AND、OR 运算符无法正常工作
- javascript - Typescript - 从基类调用子类的实例方法
- php - 插入嵌套的for循环(我做错了什么)
- php - 无法进行索引读取以获取下一行
- amazon-web-services - 使用 CloudFormation 为身份池定义 IAM 角色以访问 s3 存储桶
- drake - 通过多体植物接触雅可比行列式
- linux - terraform:天蓝色 storage_data_disk 重新启动后丢失
- java - 如何使用 apache java HttpClient 4.5 从 CONNECT 请求中检索响应标头?
- html - 为什么链接只能在 macOS 操作系统上工作