python如何通过pymysql实现增删改查的操作
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍了python如何通过pymysql实现增删改查的操作的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python如何通过pymysql实现增删改查的操作文
千家信息网最后更新 2026年11月02日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安全错误
数据库的锁怎样保障安全
重生之互联网科技帝国
互联网核心科技是什么
世界互联网领先科技成果
互联网科技缩写
奔汉互联网科技
顺玮阁互联网科技
润盈互联网科技
科技互联网创业计划书
互联网科技股午盘股票涨跌
海南科技产业互联网平台
昭通互联网科技选哪家
浙南科技城互联网大厦建设工程
河南住房之家互联网科技
西安小鹰速贷互联网科技有限公司
互联网科技圈年度人物
伍佰万互联网科技怎么赚钱
深圳互联网科技的发展
电子商务与互联网科技的关系
黑云互联网科技有限公司
众联互联网络科技
云信互联网科技有限公司
九亚互联网科技
朗涯互联网科技
上海喔噻互联网科技
深圳天众互联网科技公司
海南科技产业互联网平台
深圳市运趣互联网科技有限公司
互联网科技与管理
翼展科技 首家互联网医院
互联网硬科技公司