更新表

可以使用“UPDATE”语句,更新表格内的现有记录:

示例

将地址栏由“Valley 345”改写为“Canyoun 123”:

import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="你的用户名",
passwd="你的密码",
database="mydatabase"
) mycursor = mydb.cursor() sql = "UPDATE customers SET address = 'Canyon 123' WHERE address = 'Valley 345'" mycursor.execute(sql) mydb.commit() print(mycursor.rowcount, " 条记录已更新")

注意: 数据库修改后,需要使用mydb.commit()语句提交,不提交,修改不会生效。

注意UPDATE语句中的WHERE子句: WHERE子句指定应该更新哪些记录。如果省略WHERE子句,将更新所有记录!

防止SQL注入

在update语句中,为了防止SQL注入,通常应该转义查询值。

SQL注入是一种常见的web黑客技术,用于破坏或误用数据库。

mysql.connector 模块有方法可以转义查询值:

示例

使用占位符%s方法转义查询值:

import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="你的用户名",
passwd="你的密码",
database="mydatabase"
) mycursor = mydb.cursor() sql = "UPDATE customers SET address = %s WHERE address = %s"
val = ("Valley 345", "Canyon 123") mycursor.execute(sql, val) mydb.commit() print(mycursor.rowcount, " 条记录已更新")

最新文章

  1. ng-class结合三目运算
  2. BeanUtils.copyProperties和PropertyUtils.copyProperties的使用区别
  3. jquery 的队列queue
  4. 【读书笔记】iOS-ARC-Xcode检测循环引用
  5. ruby -- 问题解决(二)rails4.0create引起的ActiveModel::ForbiddenAttributesError错误
  6. OC基础数据类型-NSSet
  7. python 使用*args 和**kwargs
  8. [Java] Serializable(序列化)的理解
  9. 淘宝JAVA中间件Diamond详解(2)-原理介绍
  10. Linux内核中流量控制
  11. openstack 控制节点大流量对外发包,nf_conntrack,table full droping packets
  12. SecureCRT 6.7.1 注冊机 和谐 破解 补丁 方法
  13. 《java系统性能优化》--2.高速缓存
  14. 踩坑实录 Android studio中关于 No cached version of **** available for of处理办法
  15. Launcher知识的demo,手机管家小伙家与悬浮窗
  16. 0428css样式
  17. 基于Nginx服务器和iOS9的HTTPS安全通信
  18. vuex2.0 基本使用(2) --- mutation 和 action
  19. 第36-37 Tomcat & SVN
  20. foo ?

热门文章

  1. WebGL绘制正方体
  2. Linux 创建网卡子接口
  3. 【Python基础知识】【语法】【入门】
  4. SystemVerilog Assertion 设计、调试、测试总结(3)
  5. 如何使用Nexus搭建Maven私服
  6. Ecshop系统二次开发教程及流程演示
  7. 让Nutz支持最快的模板引擎Smarty4j
  8. Day2:接着思考和可能的策划
  9. python2学习------基础语法2(函数)
  10. C++ 类 与 static