import sqlite3
conn = sqlite3.connect('example.db')
c = conn.cursor()

Usually your SQL operations will need to use values from Python variables. You shouldn’t assemble your query using Python’s string operations because doing so is insecure; it makes your program vulnerable to an SQL injection attack (see https://xkcd.com/327/ for humorous example of what can go wrong).

Instead, use the DB-API’s parameter substitution. Put ? as a placeholder wherever you want to use a value, and then provide a tuple of values as the second argument to the cursor’s execute() method. (Other database modules may use a different placeholder, such as %s or :1.) For example:

# Do this instead
t = ('RHAT',)
c.execute('SELECT * FROM stocks WHERE symbol=?', t)
print(c.fetchone())# Larger example that inserts many records at a time
purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00),('2006-04-05', 'BUY', 'MSFT', 1000, 72.00),('2006-04-06', 'SELL', 'IBM', 500, 53.00),]
c.executemany('INSERT INTO stocks VALUES ', )

转载于:https://www.cnblogs.com/easonbolg/articles/7875771.html

sqlite insert数据要用“?”代替“%s”相关推荐

  1. SQLite Insert 语句(http://www.w3cschool.cc/sqlite/sqlite-insert.html)

    SQLite Insert 语句 SQLite 的 INSERT INTO 语句用于向数据库的某个表中添加新的数据行. 语法 INSERT INTO 语句有两种基本语法,如下所示: INSERT IN ...

  2. sqlite换成mysql_从SQLITE的数据转到MYSQL

    接同事需求,要求从SQLITE的数据转到MYSQL,这东西以前也没接触过.这里搜搜,那里试试,下面把过程列一下. 主要过程分三步: 1,把SQLITE表结构导出来,作一定的格式调整 2,把SQLITE ...

  3. 妹子图APP(四)—— SQLite保存数据实现离线图片查看

    接上文: 妹子图APP(三)-- RecyclerView的Item点击事件和图片保存至本地 前面实现了加载网络图片并保存至本地,但无法实现离线查看已缓存的图片,现在需要实现离线查看缓存的图片 Gli ...

  4. android用于查询数据的方法,android: SQLite查询数据

    掌握了查询数据的方法之后,你也就将数据库的 CRUD 操 作全部学完了.不过千万不要因此而放松,因为查询数据也是在 CRUD 中最复杂的一种 操作. 我们都知道 SQL 的全称是 Structured ...

  5. insert数据时,获取插入数据的id

    insert数据时,获取插入数据的id 当运行完插入语句后,执行select @@identity就可得到自动生成的id 如果是sql server 最好用select SCOPE_IDENTITY( ...

  6. Sqlite大数据量查询优化比较-转

    标题写的有些大了-- 我做的一个PHP玩具用的是Sqlite数据库,昨天某网站采集了4039篇文章,发现页面打开速度慢的要死,看了一下耗时,发现sqlite在数据量比较大(4000算大?--我觉得挺大 ...

  7. csync2+sqlite实现数据的高效实时的增量备份

    csync2+sqlite实现数据的高效实时的增量备份   前言,测试时共两台机器: 192.168.169.112 bbs1.cheabc.com 192.168.169.113 bbs2.chea ...

  8. Android数据库处理重复插入Insert数据的问题

    Android数据库处理重复插入Insert数据的问题 在创建表时,使用UNIQUE约束唯一的列,比如ID等.约束之后,再插入相同ID的数据会报错,此时要配合insert ignore into插入数 ...

  9. Doris新增字段后立马向新增字段updat和insert显示没有该新增字段或者新增字段没有updata和insert数据

    Doris新增字段后立马向新增字段updat和insert显示没有该新增字段或者新增字段没有updata和insert数据 原因:Doris新增字段后需要反应一段时间 解决办法:新增字段后不立马进行u ...

最新文章

  1. Java 获取当前时间最近12个月(字符串)
  2. 百度网站打不开了,百度被黑了?最新证实:百度遭黑客劫持,手段类似于12月被劫持的twitter(截图)...
  3. leetcode - 84. 柱状图中最大的矩形
  4. QT:创建一个widget,包含源文件,头文件,以及ui文件
  5. BZOJ.3165.[HEOI2013]Segment(李超线段树)
  6. 亚马逊警用刷脸计划小小受阻,但原因并不是贝佐斯妥协
  7. Vue电商后台管理系统功能展示
  8. 10 个超棒的 jQuery 视频插件
  9. 一个案例,看懂用户画像如何做出效益
  10. Ubuntu下Android编译环境Build_evn的配置
  11. Sentinel-2 哨兵二号数据(Level-1C)下载及预处理教程
  12. 显示杂谈(1)-Gamma到底是个什么鬼
  13. Java知识点的总结(一)
  14. 1.Android稳定性测试
  15. 第7章第31节:四图排版:四张图片两两一组并行排列 [PowerPoint精美幻灯片实战教程]
  16. BAT涉足电影业若只是报玩票心态,入局或难长久
  17. 微信小程序 pages的使用
  18. 【飞控开发基础教程9】疯壳·开源编队无人机-PWM(电机控制)
  19. 宽带网速测试皮肤软件,【问题求助】这个网速测量皮肤测量的网速不准哪大神知道原因?...
  20. 用xpath出现Element 一堆字符怎么办? python

热门文章

  1. codeforces 483B Friends and Presents 解题报告
  2. lambda显式声明返回值
  3. 【More Effective C++】Item 6
  4. EF里查看/修改实体的当前值、原始值和数据库值以及重写SaveChanges方法记录实体状态...
  5. C 文件读写 容易疏忽的一个问题
  6. 【译】 WebSocket 协议第八章——错误处理(Error Handling)
  7. 找出性能消耗是第一步,如何解决问题才是关键
  8. 老web换新枝----Sails.js移动设备的全新生产力(五)
  9. 利用platform库获取浏览器和操作系统版本
  10. Java IO 之 InputStream源码(2)