Python 中使用 PyMySQL模块操作数据库的方法
作者:IT-平头哥 发布时间:2024-01-26 04:23:11
标签:python,pymysql,数据库
之前用的Python2,连接MySQL用的是MySQLdb。现在换成python3.x了,由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 PyMySQL模块,以下将介绍PyMySQL的安装及常用操作。
一、安装
pip install PyMySQL
二、常用操作
查询数据
import pymysql
# 连接数据库
conn = pymysql.connect(
host='127.0.0.1',
user='root',
passwd='root',
port=3306,
db='test',
charset='utf8'
)
# 创建一个游标
cursor = conn.cursor()
# 查询数据
sql = "select * from user"
cursor.execute(sql) # 执行sql
# 查询所有数据,返回结果默认以元组形式,所以可以进行迭代处理
for i in cursor.fetchall():
print(i)
print('共查询到:', cursor.rowcount, '条数据。')
# 获取第一行数据
result_1 = cursor.fetchone()
print(result_1)
# 获取前n行数据
result_3 = cursor.fetchmany(3)
print(result_3)
cursor.close() # 关闭游标
conn.close() # 关闭连接
插入数据
执行完插入语句后一定要执行.commit()进行提交事务,可以插入多条后统一提交,否则操作无效
import pymysql
# 连接数据库
conn = pymysql.connect(
host='127.0.0.1',
user='root',
passwd='root',
port=3306,
db='test',
charset='utf8'
)
# 创建一个游标
cursor = conn.cursor()
# 插入数据
# 数据直接写在sql后面
sql = "insert into username(id,name) values(%s, %s)" # 注意是%s,不是s%
cursor.execute(sql, [3, '王五']) # 列表格式数据
cursor.execute(sql, (4, '马六')) # 元组格式数据
# 数据单独赋给一个对象
sql = "insert into username values(%s,%s)"
data = (5, '老七')
cursor.execute(sql, data) #sql和data之间以","隔开
sql = "insert into username values(%s,'%s')"
data = (6, '小八')
cursor.execute(sql % data) #sql和data之间以"%"隔开,此时它的sql中注意要给中文字符对应的占位符加上引号,即"%s",不然会报错:unsupported format character
conn.commit() # 提交,不然无法保存插入或者修改的数据(这个一定不要忘记加上)
cursor.close() # 关闭游标
conn.close() # 关闭连接
修改数据
执行完修改语句后一定要执行.commit()进行提交事务,可以修改多条后统一提交,否则操作无效
import pymysql
# 连接数据库
conn = pymysql.connect(
host='127.0.0.1',
user='root',
passwd='root',
port=3306,
db='test',
charset='utf8'
)
# 创建一个游标
cursor = conn.cursor()
# 修改数据
sql = "update username set name='%s' where id=%s" #注意%s什么时候加引号,什么时候不加
data = ('改名了', 1)
cursor.execute(sql % data)
sql = "update username set name=%s where id=%s"
data = ('也改名了', 2)
cursor.execute(sql, data)
conn.commit() # 提交,不然无法保存插入或者修改的数据
cursor.close() # 关闭游标
conn.close() # 关闭连接
删除数据
执行完删除语句后一定要执行.commit()进行提交事务,可以删除多条后统一提交,否则操作无效
import pymysql
# 连接数据库
conn = pymysql.connect(
host='127.0.0.1',
user='root',
passwd='root',
port=3306,
db='test',
charset='utf8'
)
# 创建一个游标
cursor = conn.cursor()
# 删除数据
sql = "delete from username where id=%s"
data = (2)
cursor.execute(sql, data)
conn.commit() # 提交,不然删除操作不生效
cursor.close() # 关闭游标
conn.close() # 关闭连接
总结
以上所述是小编给大家介绍的Python 中使用 PyMySQL操作数据库的方法,希望对大家有所帮助!
来源:https://blog.csdn.net/weixin_44110998/article/details/102962525


猜你喜欢
- 在list中嵌套元组,在进行sort排序的时候,产生的是原数组的副本,排序过程中,先根据第一个字段进行从小到大排序,如果第一个字段相同的话,
- 前言网上关于PyCharm快捷键的文章数不胜数,但是我发现有以下几个缺陷:具体基于哪个配置? 因为Windows / Mac 的配置各不同,
- 如何在本地机器上创建缓存?用法到是很简单,只需先创建Stream对象的实例,然后开始写入数据即可: Dim str&n
- title: 利用Django实现一个能与用户交互的初级框架author: Sun-Winddate: September 1, 2021D
- 本文实例讲述了Python3.5面向对象编程。分享给大家供大家参考,具体如下:1、面向过程与面向对象的比较(1)面向过程编程(procedu
- 一.Oracle日期和字符串互相转换1.1 日期转字符串1.1.1 yyyy年mm月dd日hh24時mi分ss秒手动拼接年月日select
- 故事还得从下面的图说起:what? 两条sql执行结果的id列居然不一致。。。。。。一、LIMIT 处理过程为了故事的顺利发展,我们得先创建
- 去年中秋开始,小编一直在忙旅游公司的30多个网站,在网站项目中,网站客服需要在网站中添加某个客服交谈工具代码,还需要对PC和手机添加不一样的
- 京东购物车抢购商品1.Python的下载和安装这里由于我们代码是基于Python来执行的所以我们这里需要2个东西:一个是Python本身,另
- 前言大家好,我是 CoderBin,在JavaScript中,this是一个非常重要的概念,属于进阶知识,不管是在面试还是日常开发
- 写一个类似linux head的小工具,在window下用。head.py # -*- coding: UTF-8 -*-#!/u
- 概要 “SQL Server 桌面引擎”(也叫 MSDE 2000)没有自己的用户界面,因为它主要设计为在后台运行。用户通过 MSDE 20
- YAHOO.util.Subscriber 与 YAHOO.util.CustomEvent。1. YAHOO
- 一、概述PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却
- 本文实例为大家分享了python使用turtle库绘制树的具体代码,供大家参考,具体内容如下# -*- coding: utf-8 -*-&
- 这篇文章主要介绍了python获取网络图片方法及整理过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 问题Django 报错 [2019-09-16 16:47:27,981] - Broken pipe from ('127.0.0
- 今天给大家分享的主题是用百度的接口实现图片的文字识别。1.环境和配置要求整体是用Python实现,所需要使用的第三方库包括aip、PIL、k
- 在我们想要对不同变量进行判断的时候,会分析其中的之间的联系。这种理念同样也被用在实例生活中,最常见到的是做一个地理的热力图。很多人对画热力图
- 前言最近公司服务器到期,需要进行数据迁移,而数据库属于多而繁琐,通过图形化界面一个一个备份所需时间成本很大,所以想着写一个sql脚本来执行。