![](/img/trans.png)
[英]Insert Variables With Python And Tkinter, Into Sqlite3 Table
[英]Insert sqlite3 from variables
我一直在尝试创建一个数据库,我的表的列名将来自一个列表:
import sqlite3
L = ["Nom","Age","Taille"]
list2 = ["Karl", "11", "185"]
M = []
R = 0
con = sqlite3.connect(":memory:")
con.execute("CREATE TABLE master ("+",".join(L)+")")
然后要么:
for e in L:
R += 1
con.execute("INSERT INTO master("+",".join(L)+") VALUES (?,?,?)",list2[R-1])
或者
for e in L:
R += 1
con.execute("INSERT INTO master(e) VALUES (?)",list2[R-1])
或者
listX=[list2[0],list2[1],list2[3])
con.executemany("INSERT INTO master ("+",".join(L)+") VALUES ("+",".join(M)+")", (listX))
检查文档: https : //docs.python.org/3.8/library/sqlite3.html
在你的情况下:
import sqlite3
con = sqlite3.connect(":memory:")
columns = ["Nom", "Age", "Taille"]
columns_str = '"' + '","'.join(columns) + '"'
con.execute(f"CREATE TABLE people ({columns_str})")
data = [
('Karl', 11, 185)
]
stmt = f"INSERT INTO people ({columns_str}) VALUES (?, ?, ?)"
con.executemany(stmt, data)
另外,可能不要打电话给您的桌子master
- 稍后会变得非常混乱。 L
和list2
类的名称也无济于事。 在命名变量时要清楚,根据它们的含义或包含的内容命名。 未来你会感谢你。
也许更干净一点:
import sqlite3
con = sqlite3.connect(":memory:")
columns = ("Nom", "Age", "Taille")
con.execute("CREATE TABLE people (%s, %s, %s)" % columns)
data = [
('Karl', 11, 185)
]
stmt = f"INSERT INTO people (%s, %s, %s) VALUES (?, ?, ?)" % columns
con.executemany(stmt, data)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.