博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pymysql 数据库编程
阅读量:6637 次
发布时间:2019-06-25

本文共 809 字,大约阅读时间需要 2 分钟。

1.引入模块

import pymysql

2.用于建立与数据库的连接 调用pymysql模块中的connect()方法

conn = pymysql.connect(host='localhost', port=3306, user='root', password='mysql',database='python_1', charset='utf8')

* 参数host:连接的mysql主机,如果本机是'localhost'* 参数port:连接的mysql主机的端口,默认是3306* 参数database:数据库的名称* 参数user:连接的用户名* 参数password:连接的密码* 参数charset:通信采用的编码方式,推荐使用utf8

 

3.获取Cursor对象

cursor = conn.cursor()

4.执行sql语句 返回值就是sql语句在执行过程中影响的行数

sql = 'sql语句'

row_count = cursor.execute(sql)

print("sql语句执行影响的行数%d" % row_count)

5.提交数据到数据库

conn.commit()

6.回滚数据到什么都不做的状态 即撤销刚刚的修改

conn.rollback()

7.关闭游标和连接

cursor.close()

conn.close()

 

注:参数化列表防止SQL注入

什么是SQL注入 ?

产生原因: 后台将用户提交的带有恶意的数据和SQL进行字符串方式的拼接,从而影响了SQL语句的语义,最终产生数据泄露的现象。

如果防止: sql语句的参数化, 将SQL语句的所有数据参数存在一个列表中传递给execute函数的第二个参数

此处不同于python的字符串格式化,必须全部使用%s占位

 

 

转载于:https://www.cnblogs.com/omak/p/9922630.html

你可能感兴趣的文章
最新ThinkPHP V5在iis、nginx、apache下的安装过程、包含伪静态引起的错误
查看>>
Hibernate 延迟加载(二)
查看>>
在SDK中使用TreeView控件
查看>>
hibernate中数据加载方式
查看>>
实战中设计的火候
查看>>
OpenStack的结构
查看>>
Windows Server 2016 TP4中RDS新增“多点服务”
查看>>
我的友情链接
查看>>
nginx配置SSL实现服务器/客户端双向认证
查看>>
关闭浏览器session就消失了吗
查看>>
Oracle基于时间点的恢复
查看>>
优秀程序员永远都不会说的几句话
查看>>
linux 远程下载
查看>>
利用ACS实现AAA服务
查看>>
我的友情链接
查看>>
疯狂Java程序员的基本修养
查看>>
关于OSPF NSSA区域metric计算细节
查看>>
MS12 020补丁下载for sever 2003_x86_chs
查看>>
css的postion属性
查看>>
HSRP自己做的实验
查看>>