一篇文章搞定PyMySQL的使用
- 1. 思考
- 2. Python程序操作MySQL数据库
1. 思考
如何实现将条数据插入到MySQL数据库?
使用MySQL客户端来完成这个操作,那么这个工作量无疑是巨大的,我们可以通过使用程序代码的方式去连接MySQL数据库,然后对MySQL数据库进行增删改查的方式,实现10000条数据的插入,像这样使用代码的方式操作数据库就称为数据库编程。
2. Python程序操作MySQL数据库
安装pymysql第三方包:
说明:
- 安装命令使用 sudo pip install 第三方包名
- 卸载命令使用 sudo pip uninstall 第三方包
- 可以使用: pip show pymysql 命令查看第三方包的信息
- pip list 查看使用pip命令安装的第三方包列表
pymysql的使用:
- 1.导入 pymysql 包
- 2.创建连接对象
调用pymysql模块中的connect()函数来创建连接对象,代码如下:
连接对象操作说明:
- 关闭连接 conn.close()
- 提交数据 conn.commit()
- 撤销数据 conn.rollback()
- 3.获取游标对象
获取游标对象的目标就是要执行sql语句,完成对数据库的增、删、改、查操作。代码如下:
游标操作说明:
- 使用游标执行SQL语句: execute(operation [parameters ]) 执行SQL语句,返回受影响的行数,主要用于执行insert、update、delete、select等语句
- 获取查询结果集中的一条数据:cur.fetchone()返回一个元组, 如 (1,‘张三’)
- 获取查询结果集中的所有数据: cur.fetchall()返回一个元组,如((1,‘张三’),(2,‘李四’))
- 关闭游标: cur.close(),表示和数据库操作完成
- 4.pymysql完成数据的查询操作
- 5.pymysql完成对数据的增删改
说明:
- conn.commit() 表示将修改操作提交到数据库
- conn.rollback() 表示回滚数据
- 6.防止SQL注入
什么是SQL注入?
用户提交带有恶意的数据与SQL语句进行字符串方式的拼接,从而影响了SQL语句的语义,最终产生数据泄露的现象。
如何防止SQL注入?
SQL语句参数化
- SQL语言中的参数使用%s来占位,此处不是python中的字符串格式化操作
- 将SQL语句中%s占位所需要的参数存在一个列表中,把参数列表传递给execute方法中第二个参数
防止SQL注入的示例代码:
说明:
execute方法中的 %s 占位不需要带引号
- 1 导包
- 2 创建连接对象
- 3 获取游标对象
- 4 执行SQL语句
- 5 获取查询结果集
- 6 将修改操作提交到数据库
- 7 回滚数据
- 8 关闭游标
- 9 关闭连接

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/188769.html