python---数据库操作

news2024/12/25 1:10:42

在python中,使用第三方库pymysql来执行数据库操作

命令行窗口输入 :pip install pymysql,下载第三方库

数据库查询操作

Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。

  • fetchone(): 该方法获取下一个结果行
  • fetchall():接收全部的返回结果行,
  • rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。
#1、从第三方库 导入数据库连接
from pymysql import Connection

#2、连接数据库
con=Connection(
    host="localhost",  #主机地址
    port=3306,         #端口号 mysql的默认端口3306
    user="root",        #用户名
    password="1234" #密码
)

#3、选择数据库
con.select_db("products")

#4、获取游标对象
cursion=con.cursor()

#5、通过游标对象操作数据库
sql="select * from user"
rowcount=cursion.execute(sql) #执行sql语句
print("受到影响的条数",{rowcount})
result=cursion.fetchone() #查询单条数据
print(result)

#6、关闭数据库
con.close()


#1、从第三方库 导入数据库连接
from pymysql import Connection

#2、连接数据库
con=Connection(
    host="localhost",  #主机地址
    port=3306,         #端口号 mysql的默认端口3306
    user="root",        #用户名
    password="1234" #密码
)

#3、选择数据库
con.select_db("products")

#4、获取游标对象
cursion=con.cursor()

#5、通过游标对象操作数据库
sql="select * from user"
rowcount=cursion.execute(sql) #执行sql语句
print("受到影响的条数",{rowcount})

result=cursion.fetchall() #查询所有数据
for x in  result:
    print(x)

#6、关闭数据库
con.close()

 数据库插入操作

pymysql默认要手动提交修改,需要自己提交

在Python数据库编程中,当游标建立之时,就自动开始了一个隐形的数据库事务。

commit()方法游标的所有更新操作,rollback()方法回滚当前游标的所有操作。


#1、从第三方库 导入数据库连接
from pymysql import Connection

#2、连接数据库
con=Connection(
    host="localhost",  #主机地址
    port=3306,         #端口号 mysql的默认端口3306
    user="root",        #用户名
    password="1234" #密码
)

#3、选择数据库
con.select_db("products")

#4、获取游标对象
cursor=con.cursor()

#5、通过游标对象操作数据库
sql="insert user values(%s,%s)" % ("'汪汪'","'123'")   #传入内容是字符串 需要携带引号 
print(sql)
try:
   # 执行sql语句
   cursor.execute(sql)
   # 提交到数据库执行
   con.commit()
except:
   # 发生错误时回滚
   con.rollback()

rowcount=cursor.execute(sql) #执行sql语句
print("受到影响的条数",{rowcount})
#6、关闭数据库
con.close()


除了手动提交之外,还可以在创建连接时直接说明自动提交

con=Connection(
    host="localhost",  #主机地址
    port=3306,         #端口号 mysql的默认端口3306
    user="root",        #用户名
    password="1234", #密码
    autocommit=True #设置自动提交
)

动态传参

使用占位符来占位,动态填入参数


from pymysql import Connection
class A:
    age=0
#1、从第三方库 导入数据库连接
    def a(self,name,age):
      # 2、连接数据库
      con = Connection(
          host="localhost",  # 主机地址
          port=3306,  # 端口号 mysql的默认端口3306
          user="root",  # 用户名
          password="1234",  # 密码
          autocommit=True  # 设置自动提交
      )
      # 3、选择数据库
      con.select_db("products")
      # 4、获取游标对象
      cursor = con.cursor()
      #5、通过游标对象操作数据库
      sql = "insert user values('%s','%s')" % (name,age)  # 传入内容是字符串 需要携带引号
      print(sql)
      try:
          # 执行sql语句
          cursor.execute(sql)
          # 提交到数据库执行
          con.commit()
      except:
          # 发生错误时回滚
          con.rollback()
      rowcount = cursor.execute(sql)  # 执行sql语句
      print("受到影响的条数", {rowcount})
      # 6、关闭数据库
      con.close()

A().a("糖豆","喵喵")


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/108624.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpManager 网络管理软件

随着网络在有线、无线和虚拟 IT 环境中的扩展,网络管理只会变得越来越复杂,使网络管理员需要他们可以获得的所有帮助。市场上有无数的网络管理解决方案,因此将注意力集中在正确的解决方案上非常重要。网络管理工具通常可以帮助您将网络的各种…

一行python命令让手机读取电脑文件

本文讲解python的一个内置文件传输下载器,可以用来在局域网内进行文件传输,当然可能有人会问,我用微信QQ也能传,为什么还要用python来传输下载?在此,其实我个人感觉的是,这种操作更简单&#xf…

【Web开发】Python实现Web服务器(Ubuntu下打包Flask)

🍺基于Python的Web服务器系列相关文章编写如下🍺: 🎈【Web开发】Python实现Web服务器(Flask快速入门)🎈🎈【Web开发】Python实现Web服务器(Flask案例测试)&a…

安科瑞红外测温方案助力滁州某新能源光伏产业工厂安全用电

安科瑞 李亚俊 壹捌柒贰壹零玖捌柒伍柒 摘要: 近年来,在国家政策引导与技术革新驱动的双重作用下,光伏产业保持快速增长态势,产业规模持续扩大,技术迭代更新不断,目前已在全球市场取得优势。据统计&#…

数据结构C语言版——链式二叉树的基本操作实现

文章目录链式二叉树1. 概念2. 链式二叉树的基本操作前序遍历中序遍历后续遍历根据前序遍历构建二叉树层序遍历在二叉树中查找指定值获取二叉树节点个数获取叶子节点个数求二叉树的高度链式二叉树 1. 概念 设计不同的节点结构可构成不同形式的链式存储结构。由二叉树的定义可知…

用简单伪随机数发生器实现随机中点位移分形(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 随机分形(random fractal)采用随机生成机制而得到的分形集.分形体不具有特征尺度(亦即大小尺度跨好几个量级),却有…

5G无线技术基础自学系列 | 5G接入类KPI

素材来源:《5G无线网络规划与优化》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 接入类KPI反映了用户成功接入到网络中并…

李沐精读论文:Swin transformer: Hierarchical vision transformer using shifted windows

论文地址:Swin transformer: Hierarchical vision transformer using shifted windows 代码:官方源码 pytorch实现 SwinTransformerAPI 视频:Swin Transformer论文精读【论文精读】_哔哩哔哩_bilibili 本文注意参考:Swin Transfor…

MySql性能优化(四)索引

Index索引相关概念数据结构B树优点及用处优点用处分类技术名词回表覆盖索引最左匹配索引下推索引的匹配方式哈希索引特点代价案例组合索引案例聚簇索引与非聚簇索引聚簇索引非聚簇索引覆盖索引基本介绍优点判断参考索引相关概念 数据结构 B树 推荐一篇讲的很不错的文章&…

【小程序】wxss与rpx单位以及全局样式和局部样式

目录 WXSS 1. 什么是 WXSS 2. WXSS 和 CSS 的关系 rpx 1. 什么是 rpx 尺寸单位 2. rpx 的实现原理 3. rpx 与 px 之间的单位换算* 样式导入 1. 什么是样式导入 2. import 的语法格式 全局样式和局部样式 1. 全局样式 2. 局部样式 WXSS 1. 什么是 WXSS WXSS (We…

Linux网络与数据封装

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起探讨和分享Linux C/C/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 Linux网络与数据封装1. 网络应用程序的设计模式(1)C/S架构(2&#…

VRTK4 入门指南

VRTK4 说明文档VRTK Farm Yard 示例 - Virtual Reality Toolkit要求使用 Unity 2020.3.24f1.Beta 免责声明简介入门下载项目在 Unity 中打开下载的项目使用 Unity Hub在 Unity 中打开项目运行示例场景Made With VRTK贡献第三方包许可证VRTK Farm Yard 示例 - Virtual Reality T…

家居建材行业数字化重构,依靠CRM打通全流程

国家十四五规划提出大力推进产业数字化转型,如今各行各业数字化进程如火如荼,传统行业将数字化转型视为重塑产业竞争力的重要途径。因此,即便是数字化率平均只有10%的家具建材业,也在积极进行全生命周期的产品数字化、全域营销数字…

加载速度提升 15%,关于 Python 启动加速探索与实践的解析 | 龙蜥技术

编者按:在刚刚结束的 PyCon China 2022 大会上,龙蜥社区开发者严懿宸分享了主题为《Python 启动加速的探索与实践》的技术演讲。本次演讲,作者将从 CPython 社区相关工作、本方案的设计及实现,以及业务层面的集成等方面进行介绍。…

Python基础知识入门(四)

Python基础知识入门(一) Python基础知识入门(二) Python基础知识入门(三) 一、条件控制 条件语句是通过一条或多条语句的执行结果(True 或者False)来决定执行的代码块。 注意&…

使用CMake编译基于OpenCV开发的程序的方法

方法 使用CMake编译OpenCV开发的程序分为以下几个步骤: 安装编译器和代码编辑器。 Windows安装Visual Studio社区版,集成了编译器和代码编辑器。Ubuntu安装gcc、g和VSCode: sudo apt install gcc gcmacOS安装XCode Commandline Tools和VS…

R语言应用xgboost进行机器学习(1)

XGBoost 机器学习模型是一种高效且可扩的展的机器学习分类器,由 Chen 和 Guestrin 在 2016 年推广。XGBoost原理是是在决策树的基础上产生迭代,它以 boosting 的方式结合了多个决策树。通常创建每棵新树是为了通过梯度提升来减少先前模型的误差&#xff…

鸿翼档案,将非结构化数据治理能力应用于档案管理的先行者

数字化时代,每个人每天都要接触大量的数据。人们通过分析数据获取信息与知识,帮助自身更好地理解社会动向,掌握行业发展。我们每天都会接触到多种多样的数据,这些数据根据结构可划分为三种:结构化数据、非结构化数据和…

Android设计模式详解之责任链模式

前言 责任链模式是行为型设计模式; 定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。 使用场景:…

基于概率论的MATLAB仿真,内容包括非共轭条件下的后验概率的推导,共轭条件下的非完备集的后验概率的推导

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 1.1先验概率的推导 根据贝叶斯概率论可知,某一事件的后验概率可以根据先验概率来获得,因此,这里首先对事件的先验概率分布进行理论的推导。假设测量的腐蚀数据…