iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Python基于pymysql的数据库操作类的安装运行过程
  • 259
分享到

Python基于pymysql的数据库操作类的安装运行过程

2024-04-02 19:04:59 259人浏览 泡泡鱼
摘要

这期内容当中小编将会给大家带来有关python基于pyMysql的数据库操作类的安装运行过程,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 一

这期内容当中小编将会给大家带来有关python基于pyMysql数据库操作类的安装运行过程,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

一 简介
     Pythonmysql交互的模块有 Mysqldb 和 PyMySQL(pymysql),MySQLdb是基于C 语言编写的,而且python3 不在支持MySQLdb 。PyMySQL是一个纯Python写的MySQL客户端,它的目标是替代MySQLdb,可以在CPython、PyPy、IronPython和Jython环境下运行,PyMySQL在MIT许可下发布。
    在开发基于Python语言的项目中,为了以后系统能兼容Python3,我们使用了PyMySQL替换了MySQLdb。下面我们来熟悉一下pymysql的使用。
 
二 安装方式
  pymsql的源码 https://GitHub.com/PyMySQL/PyMySQL ,目前还在持续更新。

  1. 安装要求:

  2. Python -- one of the following:

  3.      CPython >= 2.6 or >= 3.3

  4.      PyPy >= 4.0

  5.      IronPython 2.7

  6. MySQL Server -- one of the following:

  7.      MySQL >= 4.1 (tested with only 5.5~)

  8.      MariaDB >= 5.1

  9. 安装

  10.   pip install PyMySQL

 

三 基于pymysql的数据库交互

  1. #!/usr/bin/env python

  2. # encoding: utf-8

  3. """

  4. author: yangyi@youzan

  5. time:   2015/6/8 上午11:34

  6. func: 基于pymysql的数据库交互类,支持事务提交和回滚,返回结果记录行数,和insert的最新id

  7. """

  8. import pymysql

  9. from warnings import filterwarnings

  10. filterwarnings('ignore', cateGory=pymysql.Warning)

  11. CONNECT_TIMEOUT = 100

  12. IP = 'localhost'

  13. PORT = 3306

  14. USER = 'root'

  15. PASSSWord = ''


  16. class QueryException(Exception):

  17.     """

  18.     """



  19. class ConnectionException(Exception):

  20.     """

  21.     """


  22. class MySQL_Utils():

  23.     def __init__(

  24.             self, ip=IP, port=PORT, user=USER, password=PASSSWORD,

  25.             connect_timeout=CONNECT_TIMEOUT, remote=False, Socket='', dbname='test'):

  26.         self.__conn = None

  27.         self.__cursor = None

  28.         self.lastrowid = None

  29.         self.connect_timeout = connect_timeout

  30.         self.ip = ip

  31.         self.port = port

  32.         self.user = user

  33.         self.password = password

  34.         self.mysocket = socket

  35.         self.remote = remote

  36.         self.db = dbname

  37.         self.rows_affected = 0



  38.     def __init_conn(self):

  39.         try:

  40.             conn = pymysql.connect(

  41.                     host=self.ip,

  42.                     port=int(self.port),

  43.                     user=self.user,

  44.                     db=self.db,

  45.                     connect_timeout=self.connect_timeout,

  46.                     charset='utf8', unix_socket=self.mysocket)

  47.         except pymysql.Error as e:

  48.             raise ConnectionException(e)

  49.         self.__conn = conn



  50.     def __init_cursor(self):

  51.         if self.__conn:

  52.             self.__cursor = self.__conn.cursor(pymysql.cursors.DictCursor)



  53.     def close(self):

  54.         if self.__conn:

  55.             self.__conn.close()

  56.             self.__conn = None


  57.     #专门处理select 语句

  58.     def exec_sql(self, sql, args=None):

  59.         try:

  60.             if self.__conn is None:

  61.                 self.__init_conn()

  62.                 self.__init_cursor()

  63.             self.__conn.autocommit = True

  64.             self.__cursor.execute(sql, args)

  65.             self.rows_affected = self.__cursor.rowcount

  66.             results = self.__cursor.fetchall()

  67.             return results

  68.         except pymysql.Error as e:

  69.             raise pymysql.Error(e)

  70.         finally:

  71.             if self.__conn:

  72.                 self.close()


  73.     # 专门处理dml语句 delete,updete,insert 

  74.     def exec_txsql(self, sql, args=None):

  75.         try:

  76.             if self.__conn is None:

  77.                 self.__init_conn()

  78.                 self.__init_cursor()

  79.             if self.__cursor is None:

  80.                 self.__init_cursor()



  81.             self.rows_affected=self.__cursor.execute(sql, args)

  82.             self.lastrowid = self.__cursor.lastrowid

  83.             return self.rows_affected

  84.         except pymysql.Error as e:

  85.             raise pymysql.Error(e)

  86.         finally:

  87.             if self.__cursor:

  88.                 self.__cursor.close()

  89.                 self.__cursor = None


  90.     # 提交

  91.     def commit(self):

  92.         try:

  93.             if self.__conn:

  94.                 self.__conn.commit()

  95.         except pymysql.Error as e:

  96.             raise pymysql.Error(e)

  97.         finally:

  98.             if self.__conn:

  99.                 self.close()


  100.     #回滚操作

  101.     def rollback(self):

  102.         try:

  103.             if self.__conn:

  104.                 self.__conn.rollback()

  105.         except pymysql.Error as e:

  106.             raise pymysql.Error(e)

  107.         finally:

  108.             if self.__conn:

  109.                 self.close()

  110.     # 适用于需要获取插入记录的主键自增id

  111.     def get_lastrowid(self):

  112.         return self.lastrowid

     #获取dml操作影响的行数
    def get_affectrows(self):
        return self.rows_affected
     #MySQL_Utils初始化的实例销毁之后,自动提交
     def __del__(self):
        self.commit()

上述就是小编为大家分享的Python基于pymysql的数据库操作类的安装运行过程了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: Python基于pymysql的数据库操作类的安装运行过程

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python基于pymysql的数据库操作类的安装运行过程
    这期内容当中小编将会给大家带来有关Python基于pymysql的数据库操作类的安装运行过程,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 一...
    99+
    2024-04-02
  • Python在数据库上的运行过程
    本篇内容主要讲解“Python在数据库上的运行过程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python在数据库上的运行过程”吧!下面就让我们一起来看看它的强大功能: Python(派森),...
    99+
    2023-06-17
  • Python操作MySQL数据库—pymysql库(可直接使用的模板通用操作)
    Python与MySQL数据库交互 1.DB-API:(DB是data;API是方法,接口) Python与数据库的交互: 在没有DB-API之前,各数据库之间的应用接口非常混乱,实现各不相同,如果项目需要更换数据库,基本上需要把所有和...
    99+
    2023-08-16
    mysql python pymysql库
  • python-对于mysql数据库的操作
    python操作mysql数据库 问题:DDL,DCL,DML的区别? 语言与框架:jdbc/odbc操作数据库    java(ibatis/hibernate/jpa)操作数据库 客户端工具:navicat for mysql   步...
    99+
    2023-01-30
    操作 数据库 python
  • 利用python中pymysql操作MySQL数据库的新手指南
    目录一. pymysql介绍 二. 连接数据库的完整流程 1. 引入pymysql模块 2. 创建连接对象 3. 使用连接对象创建游标对象 4. 准备需要使用的sql语句 5. 使用...
    99+
    2024-04-02
  • mysql数据库的安装过程
    这篇文章主要讲解了“mysql数据库的安装过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql数据库的安装过程”吧!   一、MySql概述  ...
    99+
    2024-04-02
  • Python实现基于Fasttext的商品评论数据分类的操作流程
    在以往的文本分类型的任务中,基本的流程主要是就是: 文本数据加载数据清洗分词向量化分类模型训练性能评估 这里面比如向量化和模型搭建是独立的两个节点,可以自由地进行设计,当然了也是一份...
    99+
    2024-04-02
  • python通过远程连接mysql数据库进行操作
    文章目录 前言一、开启远程访问权限1、开启远程访问端口2、命令行登录mysql 二、Navicat 建库1、新建连接2、建库建表 三、python对数据库进行远程操作三、总结四、参考资...
    99+
    2023-09-20
    数据库 python mysql
  • 基于MongoDB数据库中数据类型和$type操作符的示例分析
    这篇文章将为大家详细讲解有关基于MongoDB数据库中数据类型和$type操作符的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前面的话  本文将详细介绍Mong...
    99+
    2024-04-02
  • Python操作SQLite数据库的基本步骤
    本篇内容介绍了“Python操作SQLite数据库的基本步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.什么是SQLite数据库SQL...
    99+
    2023-06-02
  • MongoDB数据库安装配置、基本操作的示例分析
    小编给大家分享一下MongoDB数据库安装配置、基本操作的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:1、简...
    99+
    2024-04-02
  • Redis数据库的安装部署以及基本操作介绍
    本篇内容介绍了“Redis数据库的安装部署以及基本操作介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Redis数据库概述Redis是一个...
    99+
    2023-06-20
  • Oracle18cRPM安装部署数据库的过程
    这篇文章主要介绍“Oracle18cRPM安装部署数据库的过程”,在日常操作中,相信很多人在Oracle18cRPM安装部署数据库的过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • Silverlight与MySQL数据库的互操作过程
    本篇内容介绍了“Silverlight与MySQL数据库的互操作过程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!准备工作1)建立起测试项目...
    99+
    2023-06-17
  • node基于express框架操作Mysql数据库的步骤
    目录一.在express项目中操作数据库的步骤1.安装mysql模块2.配置mysql模块3.测试mysql模块能否正常工作 4.查询数据库数据5.向数据库插入数据6.更新...
    99+
    2024-04-02
  • php如何实现数据库操作类的封装
    这篇文章主要为大家展示了“php如何实现数据库操作类的封装”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php如何实现数据库操作类的封装”这篇文章吧。具体内容如...
    99+
    2024-04-02
  • centos安装mysql数据库的过程介绍
    本篇内容主要讲解“centos安装mysql数据库的过程介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“centos安装mysql数据库的过程介绍”吧!首先下载MySQL的安装文件,我这里安装...
    99+
    2023-06-10
  • Python 变量与数据类型的邂逅:数据操作的基石
    变量 变量是用于存储值的命名位置。变量的名称必须遵守特定的规则,例如以字母开头,只能包含字母、数字和下划线。要创建变量,使用赋值运算符 =,后跟要存储的值。例如: number = 10 name = "John Doe" 数据类型 Py...
    99+
    2024-04-02
  • python序列数据类型之序列数据的基本操作
      1. 序列的长度、最大值、最小值、求和  通过内置函数len()、max() .minO可以获取序列的长度、序列中元索的最大值、序列中元素的最小值。通过内置函数sum()可以获取列表或元组中的各元素之和:如果有非数值元索,则导致TyeE...
    99+
    2023-06-02
  • Python基于win32com客户端实现Excel操作的详细过程
    目录测试环境代码实现非多线程场景下使用新建并保存EXCEL读取现有EXCEL多线程场景下使用参考连接测试环境 Python 3.6.2 代码实现 非多线程场景下使用 新建并保存EXC...
    99+
    2023-05-18
    Python Excel操作 Python win32com Excel操作
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作