python sqlist3 sql语句中的‘?‘ 与 ‘%s‘提交数据

2023年1月9日11:58:55

python sqlist3 sql语句中的’?’ 与 ‘%s’

1、创建数据库

import sqlite3

conn = sqlite3.connect('test1.db')
c = conn.cursor()

sql1 = '''
    create table students
        (id int,name text,age int )
'''
c.execute(sql1)

2、提交数据方式1

sql2 = '''
insert into students values(1,'Tom',20)
'''
c.execute(sql2)
# 等价于c.execute("insert into students values(1,'Tom',20)")

3、提交数据方式2 : 用?插入数据

data = [2, 'Jack', 22]
c.execute("insert into students values(?,?,?)", data)

4、提交数据方式3 : 用?+executemany插入多条数据

datas = [(3, 'wang', 33), (4, 'zhang', 19)]
c.executemany("insert into students values(?,?,?)", datas)

conn.commit()
conn.close()

补充:提交数据4:固定字符串格式

from string import Template

sql_temp = Template("insert into students values(${id},'${name}',${age})")
c.execute(sql_temp.substitute(id=10, name="rave", age=30))

注意: name是字符串,所以用单引号括起来

参考文档: sqlite3 — DB-API 2.0 interface for SQLite databases

  • 作者:java学习。。
  • 原文链接:https://blog.csdn.net/qq_45522541/article/details/113853869
    更新时间:2023年1月9日11:58:55 ,共 750 字。