python + sqlite,从变量插入数据到表中
我可以很轻松地把固定的值插入到SQLite表里,但我现在想做的是这样的事情:
name = input("Name: ")
phone = input("Phone number: ")
email = input("Email: ")
cur.execute("create table contacts (name, phone, email)")
cur.execute("insert into contacts (name, phone, email) values"), (name, phone, email)
我知道这样做是不对的,我也找不到解决办法。也许有人能给我一些正确的建议。
3 个回答
0
cur.execute("create table contacts (name, phone, email)")
cur.execute("insert into contacts (name, phone, email) values(?,?,?)",(name, phone, email))
或者
cur.execute("insert into contacts values(?,?,?)",(name, phone, email))
因为你在插入数据时已经填满了所有可用的字段,所以在插入的查询中不提列名也是可以的。
1
这段代码的意思是,使用一个叫做`cur`的对象来执行一个批量插入的操作。它要把一些联系人的信息,比如名字、电话和电子邮件,插入到一个叫做`contacts`的表里。具体来说,`?`是一个占位符,表示在实际执行时会用具体的名字、电话和电子邮件来替换它们。这样可以一次性插入多个联系人的信息。
64
你可以用 ?
来表示SQL查询中的一个参数:
cur.execute("insert into contacts (name, phone, email) values (?, ?, ?)",
(name, phone, email))