返回顶部
首页 > 资讯 > 数据库 >Python 操作MySQL详解及实例
  • 640
分享到

Python 操作MySQL详解及实例

详解实例操作 2022-06-04 18:06:45 640人浏览 泡泡鱼
摘要

Python 操作MySQL详解及实例 使用python进行Mysql的库主要有三个,Python-mysql(更熟悉的名字可能是Mysqldb),PyMySQL和SQLAlchemy。 Python-My

Python 操作MySQL详解及实例

使用python进行Mysql的库主要有三个,Python-mysql(更熟悉的名字可能是Mysqldb),PyMySQL和SQLAlchemy。

Python-MySQL资格最老,核心由C语言打造,接口精炼,性能最棒,缺点是环境依赖较多,安装复杂,近两年已停止更新,只支持Python2,不支持python3

PyMySQL为替代Python-MySQL而生,纯python打造,接口与Python-MySQL兼容,安装方便,支持Python3。

SQLAlchemy是一个ORM框架,它并不提供底层的数据库操作,而是要借助于MySQLdb、PyMySQL等第三方库来完成,目前SQLAlchemy在WEB编程领域应用广泛。

本文主要介绍PyMySQL的正确使用方法,示例代码都是选自实战项目

安装

简单的方式:


pip install pymysql

如果无法联网,需要进行离线安装,例如:


pip install pymysql-x.x.x.tar.gz

导入


import pymysql

连接


def connect_wxremit_db():
  return pymysql.connect(host='10.123.5.28',
              port=3306,
              user='root',
              passWord='root1234',
              database='db_name',
              charset='latin1')

查询


def query_country_name(cc2):
  sql_str = ("SELECT Fcountry_name_zh"
        + " FROM t_country_code"
        + " WHERE Fcountry_2code='%s'" % (cc2))
  logging.info(sql_str)

  con = mysql_api.connect_wxremit_db()
  cur = con.cursor()
  cur.execute(sql_str)
  rows = cur.fetchall()
  cur.close()
  con.close()

  assert len(rows) == 1, 'Fatal error: country_code does not exists!'
  return rows[0][0]

简单插入


def insert_file_rec(self, file_name, file_md5):
    con = mysql_api.connect_wxremit_db()
    cur = con.cursor()
    try:
      sql_str = ("INSERT INTO t_forward_file (Ffile_name, Ffile_md5)", 
            + " VALUES ('%s', '%s')" % (file_name, file_md5))
      cur.execute(sql_str)
      con.commit()
    except:
      con.rollback()
      logging.exception('Insert operation error')
      raise
    finally:
      cur.close()
      con.close()

批量插入


remit_ids = [('1234', 'CAD'), ('5678', 'HKD')]

con = mysql_api.connect_wxremit_db()
    cur = con.cursor()
    try:
        cur.executemany("INSERT INTO t_order (Fremit_id, Fcur_type, Fcreate_time"
                        + " VALUES (%s, %s, now())", new_items)
        assert cur.rowcount == len(remit_ids), 'my error message'
        con.commit()
    except Exception as e:
        con.rollback()
        logging.exception('Insert operation error')
    finally:
        cur.close()
        con.close()

更新


 def update_refund_trans(self, remit_id):
    con = mysql_api.connect_wxremit_db()
    cur = con.cursor()
    try:
      sql_str = ("SELECT Fremit_id"
            + " FROM t_wxrefund_trans"
            + " WHERE Fremit_id='%s'" % remit_id
            + " FOR UPDATE")
      logging.info(sql_str)

      cur.execute(sql_str)
      assert cur.rowcount == 1, 'Fatal error: The wx-refund record be deleted!'

      sql_str = ("UPDATE t_wxrefund_trans"
            + " SET Fcheck_amount_flag=1"
            + ", Fmodify_time=now()"
            + " WHERE Fremit_id='%s'" % remit_id
      logging.info(sql_str)
      cur.execute(sql_str)

      assert cur.rowcount == 1, 'The number of affected rows not equal to 1'
      con.commit()
    except:
      con.rollback()
      logging.exception('Update operation error')
      raise
    finally:
      cur.close()
      con.close()

PyMySQL已经相当成熟,和Python-MySQL一样,它在很多linux发行版本中都是可选的安装组件。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

您可能感兴趣的文档:

--结束END--

本文标题: Python 操作MySQL详解及实例

本文链接: https://lsjlt.com/news/13365.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python 操作MySQL详解及实例
    Python 操作MySQL详解及实例 使用Python进行MySQL的库主要有三个,Python-MySQL(更熟悉的名字可能是MySQLdb),PyMySQL和SQLAlchemy。 Python-My...
    99+
    2022-06-04
    详解 实例 操作
  • Python操作MongoDB详解及实例
    Python操作MongoDB详解及实例 由于需要在页面展示MongoDB库里的数据,所以考虑使用python操作MongoDB,PyMongo模块是Python对MongoDB操作的接口包,所以首页安装p...
    99+
    2022-06-04
    详解 实例 操作
  • MySQL 去重实例操作详解
    目录前言1.创建测试数据2.distinct 使用2.1 单列去重2.2 多列去重2.3 聚合函数+去重3.group by 使用3.1 单列去重3.2 多列去重3.3 聚合函数 + group by4.distinct...
    99+
    2022-07-18
    MySQL 去重操作 MySQL 去重
  • MySQL 去重实例操作详解
    目录前言1.创建测试数据2.distinct 使用2.1 单列去重2.2 多列去重2.3 聚合函数+去重3.group by 使用3.1 单列去重3.2 多列去重3.3 聚合函数 +...
    99+
    2024-04-02
  • python字典操作实例详解
    本文实例为大家分享了python字典操作实例的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python3 # -*- coding: utf-8 -*- import turtl...
    99+
    2022-06-04
    字典 详解 实例
  • Python操作xlwings的实例详解
    目录数据来源上手pandas读取表1-2的数据xlwings获取表1-1sheetxlwings修改表1-1数据总结阿里云产品费用巡检,一般流程是登录账号,再逐项核对填写。虽然简单,...
    99+
    2024-04-02
  • python操作Mysql实例
    本文介绍了Python操作mysql,执行SQL语句,获取结果集,遍历结果集,取得某个字段,获取表字段名,将图片插入数据库,执行事务等各种代码实例和详细介绍。 实例1、获取MYSQL的版本 #!/usr/bin/env python   i...
    99+
    2023-01-31
    实例 操作 python
  • MySQL子查询操作实例详解
    本文实例总结了MySQL子查询操作。分享给大家供大家参考,具体如下: 定义两个表tb1和tb2 CREATE table tbl1 ( num1 INT NOT NULL); CREATE table ...
    99+
    2024-04-02
  • Android 文件操作详解及简单实例
     Android 文件操作详解 Android 的文件操作说白了就是Java的文件操作的处理。所以如果对Java的io文件操作比较熟悉的话,android的文件操作就...
    99+
    2022-06-06
    Android
  • 【Python】Python操作MySQL详解——PyMySQL
    Python操作MySQL详解——PyMySQL 一,Python操作数据库简介二,Python操作MySQL——PyMySQL(一)PyMySQL模块简介(二)PyMySQL使用(三)SQL...
    99+
    2023-09-23
    python mysql sql
  • node操作mysql数据库实例详解
    本文实例讲述了node操作mysql数据库的方法。分享给大家供大家参考,具体如下: 1、建立数据库连接:createConnection(Object)方法 该方法接受一个对象作为参数,该对象有四个常用的属...
    99+
    2022-06-04
    详解 实例 操作
  • Python复制文件操作实例详解
    本文实例讲述了Python复制文件操作用法。分享给大家供大家参考,具体如下: 这里用python实现了一个小型的自动发版本的工具。这个“自动发版本”有点虚, 只是简单地把debug 目录下的配置文件复制到指...
    99+
    2022-06-04
    详解 实例 操作
  • 详解MongoDB数据库基础操作及实例
    详解数据库基础操作及实例           废话不多说,直接上代码,注释写的比较清楚,大家参考下,  示...
    99+
    2024-04-02
  • SpringBoot用JdbcTemplates操作Mysql实例代码详解
    目录1、创建Spring Boot Web应用2、修改pom.xml文件3、设置Web应用的上下文路径以及数据源配置信息4、创建实体类5、创建数据访问层6、创建业务层7、创建控制器类...
    99+
    2022-11-13
    JdbcTemplates操作Mysql SpringBoot JdbcTemplates SpringBoot操作Mysql
  • python对json的相关操作实例详解
    本文实例分析了python对json的相关操作。分享给大家供大家参考,具体如下: 什么是json: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和...
    99+
    2022-06-04
    详解 实例 操作
  • python文件与目录操作实例详解
    本文实例分析了python文件与目录操作的方法。分享给大家供大家参考,具体如下: 关于python文件操作的详细说明,大家可以参考前一篇《python文件操作相关知识点总结整理》 官方API:os-Misc...
    99+
    2022-06-04
    详解 实例 操作
  • Python中的元组(Tuple)操作实例详解
    目录引言1.元组的 创建 && 访问(1)元组的创建:(2)访问:2.元组的 修改 && 删除(1)元组的修改:(2)元组的删除:3.元组的内置方法4...
    99+
    2024-04-02
  • python开发之for循环操作实例详解
    本文实例讲述了python开发之for循环操作。分享给大家供大家参考,具体如下: 下面是我做的一些学习记录供大家参考: #基本的for循环语句 test_list = [2,"Jone",3,6,7,'...
    99+
    2022-06-04
    详解 实例 操作
  • node.js操作MongoDB的实例详解
    node.js操作MongoDB时,需要安装mongodb包 1、使用npm安装cnpm npm install -g cnpm --registry=https://registry.npm.ta...
    99+
    2022-06-04
    详解 实例 操作
  • Java文件操作实例详解
    本文实例为大家分享了Java文件操作的具体代码,供大家参考,具体内容如下 简介 本程序主要采用了FileInputStream和FileOutputStream两类对文件进行操作。具...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作