python中连接并操作数据库

  • 图示操作流程

一、使用的完整流程

# 1. 导入模块
from pymysql import connect# 2. 创建和数据库服务器的连接,自行设置 服务器地址,端口,用户名,密码,数据库名, 通信使用字符和数据库字符集一致
conn = connect(host='', port=, user='', password='',database='', charset='')# 3. 获取游标
cursor = conn.cursor()# 4. 执行SQL语句
sql = "sql语句的内容,按照标准sql语句格式"# 5. execute执行后返回值就是SQL语句在执行过程中影响的行数,可以打印出来显示语句是否执行成功
row_count = cursor.execute(sql)
print("SQL语句执行影响的行数%d" % row_count)# 6. 提交数据,在pymysql中时默认不提交的,必须手动提交,否则无法写入数据库
conn.commit()
# # 回滚数据到什么都不做的状态 即撤销刚刚的修改
conn.rollback()# 7. 关闭游标
cursor.close()# 8. 关闭连接
conn.close()

二、关于SQL注入的问题

  1. 什么是SQL注入 产生原因
  • 后台将用户提交的带有恶意的数据和SQL进行字符串方式的拼接,从而影响了SQL语句的语义,最终产生数据泄露的现象。
  1. 防止: sql语句的参数化
  • 将SQL语句的所有数据参数存在一个列表中传递给execute函数的第二个参数

    row_count = cursor(游标对象).execute(sql语句, params)# sql语句中所有参数,都通过储存在params内,然后向sql语句传参
    # 那么params=[数值1,数值2....],此时sql语句中有多个%s即可 

转载于:https://www.cnblogs.com/yanguhung/p/10145770.html

使用python简单连接并操作数据库相关推荐

  1. vc mysql控件_VC++使用ActiveX控件连接和操作数据库

    VS2008运用ActiveX控件连接和操作数据库关闭时一直有个内存释放的错误,好像使用VC6.0会多生成2个文件,就不会有问题. VC++使用ActiveX控件连接和操作数据库的方法分两种: 1.通 ...

  2. 使用Spring JDBC框架连接并操作数据库

    在前一篇博文JAVA通过JDBC连接并操作MySQL数据库中,我们知道如何通过JDBC连接并操作数据库,但是请看程序,整个程序连接数据库和关闭数据库占了很大一部分代码量,而且每次我们执行一下数据库操作 ...

  3. C++利用MySQL API连接和操作数据库

    1.C++连接和操作MySQL的方式 在Windows平台,我们可以使用ADO.ODBC或者MySQL API进行连接和操作.ADO (ActiveX Data Objects,ActiveX数据对象 ...

  4. 测开5 - Python(模块、操作数据库、操作Excel、加密)

    1⃣️ 模块 模块分为:标准模块(python自带的).第三方模块(如pymysql).自己写的 python 文件(一个python文件,就是一个模块) 导入模块的实质:把导入的模块运行了一遍 查找 ...

  5. sqlserver连接和操作数据库

    1.概述 ado.net提供了丰富的数据库操作,这些操作可以分为三个步骤: 第一,使用SqlConnection对象连接数据库: 第二,建立SqlCommand对象,负责SQL语句的执行和存储过程的调 ...

  6. 记录Python使用Django框架操作数据库遇到的问题与流程

    ** python学习使用Django框架连接mysql数据库的步骤和遇到的一些问题 ** 配置数据库: 项目的settings.py文件的77行修改如下: DATABASES = {'default ...

  7. python 笔记 之 sqlalchemy操作数据库-创建表

    2019独角兽企业重金招聘Python工程师标准>>> ''' pip install SQLAlchemy 操作数据库-创建表 ''' import sqlalchemy''' s ...

  8. Java 技术篇-java连接并操作数据库实例演示,执行查询、插入、更新和删除操作

    Java 操作数据库 第一章:Java 代码四个类实现 ① 项目结构展示 ② 数据库连接类 ③ 数据库查询类 ④ 数据库更新类 ⑤ 数据库主类 第二章:查询和更新操作实例演示 ① 查询操作演示 ② 更 ...

  9. 【node】node连接mongodb操作数据库

    1.下载第三方模块mongodb cnpm install mongodb --save 2.检测是否连接成功 1.引入第三方模块mongodb并创建一个客户端const MongoClient = ...

最新文章

  1. Brocade光纤交换机FOS升级
  2. XenApp 6 license导入报错的终极解决方案
  3. html5交互效果,浅谈HTML5 CSS3的新交互特性
  4. 删除远程桌面登陆痕迹
  5. IntelliJ IDEA for Mac在MacOS模式下的编译和运行快捷键(Compile and Run Shortcut)
  6. Asp.net2.0工具包AjaxControlToolkit下载和安装
  7. python 时间函数小总结
  8. nginx缓存页面后,串会话问题的解决方案(转)
  9. Scala之flatMap操作
  10. JS之RegExp的使用
  11. Js-Alert弹出框几种样式(一级)
  12. python开启一个简单的服务器
  13. 【Android开发笔记】4.简单基站定位程序
  14. Excel表格如何筛选出重复的数据?
  15. “刘畊宏女孩”掀起居家云健身热潮,海外健身市场引流变现新方向?
  16. vim报错E45: ‘readonly‘ option is set (add ! to override)
  17. 黑色简洁的PHP短网址短链接生成源码
  18. MySQL教程——MySQL注释:单行注释和多行注释
  19. python整体向右缩进两个级别_关于python:IndentationError:unindent与任何外部缩进级别都不匹配...
  20. Manjaro 自动化部署

热门文章

  1. Android安装apk
  2. 关于salt MD5
  3. 检查DISPLAY设置时Xlib出现No protocol specified错误
  4. ASP.NET 2.0 - 选用DataSet或DataReader
  5. 一键启动Zookeeper集群
  6. pyflink shell on yarn在per-job cluster模式下的实验记录
  7. 大数据集群中数据互相导通流程汇总(持续更新中)
  8. wine: Unhandled page fault on read access to 0x00000000 at address 0x10b1fb8
  9. 安装hive出现的各种问题(这些问题出现在spark连接mysql的时候)
  10. 大话数据结构07 :链表栈