python如何通过pymysql实现增删改查的操作
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这篇文章主要介绍了python如何通过pymysql实现增删改查的操作的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python如何通过pymysql实现增删改查的操作文
千家信息网最后更新 2025年11月15日python如何通过pymysql实现增删改查的操作数据库的连接
修改表中的数据
这篇文章主要介绍了python如何通过pymysql实现增删改查的操作的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python如何通过pymysql实现增删改查的操作文章都会有所收获,下面我们一起来看看吧。
对于mysql数据库的操作,python提供了很多中方法,其中pymysql是一款比较常见且好用的第三方数据库操作库。对于数据库常用的增删改查的操作,pymysql都可以轻松实现。
1.安装pymysql:pip install pymysql (在命令行窗口中执行)
2.卸载pymysql:pip uninstall pymysql (在命令行窗口中执行)
数据库的连接
需要注意的是port是不用引号括起来 charset是utf8不是utf-8
# 获取数据库连接对象connection = pymysql.connect(host='localhost', port=3306, user='root', passwd='2732195202', db='book', charset='utf8')# 获取一个游标driver = connection.cursor()# 执行一条sqldriver.execute("select version()")# 获取执行sql的返回值resultData=driver.fetchall()print(resultData)# 关闭数据库connection.close()创建数据库表
import pymysql#获取数据库连接对象connection = pymysql.connect(host='localhost', port=3306, user='root', passwd='2732195202', db='book', charset='utf8')#获取一个游标driver=connection.cursor()# 如果该数据库存在就删除driver.execute("drop table if exists t_emp ")# 定义sql语句sql=""" CREATE TABLE `t_emp` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `department` varchar(20) DEFAULT NULL COMMENT '部门', `salary` decimal(10,2) DEFAULT NULL COMMENT '工资', `age` int(11) DEFAULT NULL COMMENT '年龄', `sex` varchar(4) DEFAULT NULL COMMENT '性别', PRIMARY KEY (`id`))ENGINE=InnoDB DEFAULT CHARSET=utf8; """# 执行sqldriver.execute(sql)# 关闭数据连接connection.close()向数据库中添加数据
1.需要注意的是规范sql,该写的字段都写上,不使用默认对应
2.提交事务的对象是数据库连接对象,而不是游标对象
3.pycharm连接mysql数据时,如果连接驱动是高版本,需要加上时区,jdbc:mysql://localhost/book?serverTimezone=GMT%2B8
4.如果主键是自动递增,则不能手动指定值,不能写该字段,让其自增长
# 获取数据库连接对象connection=pymysql.connect(host='localhost',port=3306,user='root',passwd='2732195202',db='book',charset='utf8')# 获取一个游标driver=connection.cursor()# 定义sql语句sql=""" insert into t_emp(name,department,salary,age,sex) values("tom","开发部",8000,25,"男"), ("tom","开发部",8000,25,"男") """# 尝试捕捉错误try: # 执行SQL,并返回收影响行数 result=driver.execute(sql) # 提交事务 connection.commit() print("sql(insert)->error")except: # 如果发生错误 则回滚事务 print("sql(insert)->error") driver.rollback()# 关闭数据库连接connection.close()修改表中的数据
注意点:在操作数据库之前,需要确认是否获取连接数据库成功,并且选中了数库
2.卸载第三方库:pip uninstall pymysql
#获取数据库连接对象 autocommit=True:设置数据库自动提交connection=pymysql.connect(host="localhost",port=3306,user='root',passwd='2732195202',db='book',charset='utf8',autocommit=True)# 获取游标对象driver=connection.cursor()# 定义sqlsql="update t_emp set salary=%s,name=%s where id=%s;"# 如果sql错误就执行回滚操作,成功就提交try: # 执行sql,并且返回影响的行数 result=driver.execute(sql,[6000,"admin",19]) connection.commit() print("sql(update)->success")except: print("sql(update)->error") connection.rollback()# 关闭数据库连接对象connection.close()查询数据
1.项目中的.py文件不能和python库中的文件进行冲突,否则会出现异常
# 获取数据库连接对象connection=pymysql.connect(host='localhost',port=3306,user='root',passwd='2732195202',db='book',charset='utf8')# 获取一个游标对象driver=connection.cursor()#定义sqlsql="select id, name, department, salary, age, sex from t_emp where id>%s and sex=%s"# 只能获取一次,获取多次的时候会获取到null 如果是多个参数,需要传递一个元组try: driver.execute(sql,(1,"女")) # 获取所有的查询结果 返回一个元组 resultAll=driver.fetchall() print("resultAll:", resultAll) # 获取2条数据 resultTwo=driver.fetchmany(2) print("resultTwo:", resultTwo) # 获取一条数据 resultOne=driver.fetchone() print("resultThree:", resultOne) print("sql(select)->success")except: connection.rollback() print("sql(select)->error")# 关闭数据库连接connection.close()删除表中的记录
import pymysql# 获取数据库连接对象connection = pymysql.connect(host='localhost', port=3306, user='root', passwd='2732195202', db='book', charset='utf8')# 获取一个游标driver = connection.cursor()# 定义sqlsql="delete from t_emp where id=%s"try: # 执行一条sql driver.execute(sql, (21)) # 提交事务 connection.commit() print("sql(delete)->success")except Exception as e: # 回滚事务 connection.rollback() print("sql(delete)->error") print(e)#关闭数据库连接connection.close()关于"python如何通过pymysql实现增删改查的操作"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"python如何通过pymysql实现增删改查的操作"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
数据
数据库
对象
游标
事务
知识
错误
成功
内容
命令
字段
文件
第三方
篇文章
语句
开发部
开发
影响
查询
不用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
vsc#窗体与数据库连接
软件开发合同备案有什么优惠
银行和支付宝的服务器
软件开发SLDC全称
microsoft服务器掉线
交管12123服务器异常的原因
数据库比较数据差异
php连接新浪云数据库
信息与网络安全研究生专业排名
青岛移动软件开发机构
12部委联合发布网络安全审查
php7和php5连接数据库
网络安全财产安全
神经网络技术与翻译
苏州戴尔服务器资源存储
数据库基因
网络安全专业转软件开发
miami网络技术运营
数据库怎么查询不同姓名
公司的网络安全管理方针是
方舟手游非官方服务器怎么自己开
地方数据库查询
mysql创建数据库习题
信息安全网络安全隐私保护
windows服务器安全吗
项目连接mysql数据库配置
尚游网络技术上海
一张供应商标数据库代码
嗖英语单词软件开发
金融软件开发需要什么人才