python如何通过pymysql实现增删改查的操作
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍了python如何通过pymysql实现增删改查的操作的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python如何通过pymysql实现增删改查的操作文
千家信息网最后更新 2025年02月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安全错误
数据库的锁怎样保障安全
互联网时代 网络安全问题
esg数据库公司
锐思数据库的波动率
潍坊吕怨网络技术有限公司
越秀靠谱服务器运维服务
江阴浪潮服务器维修处
网络安全知识和技能培训简报
杨志强服务器
安卓测量软件开发技术
手机网易云服务器怎样下载
税收分类软件开发
学生会网络技术部的职责
网络安全产品维保合同模板
软件开发工具的由来
学校信息网络技术
nba数据库杰伦格林
中山数字软件开发报价表
网络安全工程案例
免安装数据库步骤
为网络安全我们该做些什么
雅安的大数据库建在哪里
x86服务器机箱结构
浙江慧博网络技术有限公司
网络安全产品及功能
用什么技术开发数据库
黑果服务器
软件开发培训大概要多少钱
网络安全知识测试2022
梅州市网络安全和信息化
软件开发大会