如何调用直接看__main__函数里如何调用此工具类就阔以啦!

# encoding=utf-8

import pymysql

# 导入所有Mysql配置常量,请自行指定文件

from conf.settings import *

class MysqlConnection(object):

"""

mysql操作类,对mysql数据库进行增删改查

"""

def __init__(self, config):

# Connect to the database

self.connection = pymysql.connect(**config)

self.connection.autocommit(True)

self.cursor = self.connection.cursor()

def QueryAll(self, sql):

"""

查询所有数据

:param sql:

:return:

"""

# 数据库若断开即重连

self.reConnect()

self.cursor.execute(sql)

return self.cursor.fetchall()

def QueryMany(self, sql, n):

"""

查询某几条数据数据

:param sql:

:return:

"""

# 数据库若断开即重连

self.reConnect()

self.cursor.execute(sql)

return self.cursor.fetchmany(n)

def QueryOne(self, sql):

"""

查询某几条数据数据

:param sql:

:return:

"""

# 数据库若断开即重连

self.reConnect()

self.cursor.execute(sql)

return self.cursor.fetchone()

# return self.cursor.fetchone()

def reConnect(self):

"""

重连机制

:return:

"""

try:

self.connection.ping()

except:

self.connection()

def Operate(self, sql, params=None, DML=True):

"""

数据库操作:增删改查

DML: insert / update / delete

DDL: CREATE TABLE/VIEW/INDEX/SYN/CLUSTER

"""

try:

# 数据库若断开即重连

self.reConnect()

with self.connection.cursor() as cursor:

cursor.execute(sql, params)

self.connection.commit()

except Exception as e:

if DML:

# 涉及DML操作时,若抛异常需要回滚

self.connection.rollback()

print(e)

def __del__(self):

"""

MysqlConnection实例对象被释放时调用此方法,用于关闭cursor和connection连接

"""

self.cursor.close()

self.connection.close()

if __name__ == "__main__":

# 初始化MysqlConnection实例对象需要传Mysql配置信息的字典

config = {'host': MYSQL_HOST, 'charset': CHARSET, 'db': DB, 'user': USER, 'port': MYSQL_PORT, 'password': PASSWORD}

msc = MysqlConnection(config)

sql = "delete from users where username ='%s'" % ""

print(msc.Operate(sql))

Python MySQLdb模块连接操作mysql数据库实例_python

mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法.python操作数据库需要安装一个第三方的模块,在http://mysql ...

python学习笔记之——操作mysql数据库

Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: ...

python 通过 pymysql模块 操作 mysql 数据库

Python 中操作 MySQL 步骤 安装模块 pip install pymysql 引入模块 在py文件中引入pymysql模块 from pymysql import * Connection ...

python 3.6 +pyMysql 操作mysql数据库

版本信息:python:3.6 mysql:5.7 pyMysql:0.7.11 ########################################################### ...

python【第十二篇下】操作MySQL数据库以及ORM之 sqlalchemy

内容一览: 1.Python操作MySQL数据库 2.ORM sqlalchemy学习 1.Python操作MySQL数据库 2. ORM sqlachemy 2.1 ORM简介 对象关系映射(英语: ...

使用python操作mysql数据库

这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...

python操作mysql数据库增删改查的dbutils实例

python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...

【Python】使用python操作mysql数据库

这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector ...

python + docker, 实现天气数据 从FTP获取以及持久化(二)-- python操作MySQL数据库

前言 在这一节中,我们主要介绍如何使用python操作MySQL数据库. 准备 MySQL数据库使用的是上一节中的docker容器 “test-mysql”. Python 操作 MySQL 我们使用 ...

随机推荐

树莓派pppoe

连接的网络是移动(铁通)的宽带,不同的宽带的dns需要修改. 1.首先安装pppoe包 apt-get install pppoe 2.然后,复制conf文件/etc/ppp/pppoe.conf: ...

利用Queue队列实现FIFO的算法

#!/usr/bin/env python # -*- coding: utf-8 -*- # learn <

TopFreeTheme精选免费模板【20130701&period;特别版】

今天我们整理了16款WordPress和Joomla的最新主题.它们都是来自Themeforest,RocketTheme,YooTheme以及TemPlaza的高质量主题,赶快收藏起来吧. Este ...

u-boot和linux的机器码

先看u-boot的机器码和linux的机器码是在什么地方决定的. 1. u-boot的机器码是在u-boot的board/fs2410/fs2410.c文件里决定的:     /* arch numb ...

MongoDB学习笔记02

MongoDB中使用find来进行查询,查询就是返回一个集合中文档的子集,子集合的范围从0个文档到整个集合.find的第一个参数决定了要返回哪些文档.空的查询文档{}会匹配集合的全部内容,要是不指定查 ...

android中 MediaStore提取缩略图和原始图像

android中 MediaStore提取缩略图和原始图像 . 欢迎转载:http://blog.csdn.net/djy1992/article/details/10005767 提取图像的Thum ...

Frame框架

框架 frameset    框架集    如果使用框架集,当前页面不能有body    cols="300,*" :左右拆分,左边宽300,右边宽剩余    rows=&quot ...

浅尝Java(二、代码折叠插件的使用)

主题:eclipse代码折叠插件的使用. 工作中在使用eclipse开发Java项目时,我们会写很多if,for循环啊什么的,这使得我们的项目代码会有很多很多行.写完后要想检查或者查看,就要从头一行一 ...

Linux命令&colon;pushd

语法 pushd [-n] [+N | -N | dir] 更改新目录并(或)压栈,或者把栈里的某个目录推到栈顶. 说明 pushd dir # 切换到目标目录dir,并将dir压栈. pushd # ...

selenium自动测试

import requestsimport sysimport iofrom selenium import webdriverfrom selenium.webdriver.common.actio ...

python mysql工具类_Python工具类(一)—— 操作Mysql数据库相关推荐

  1. MySQL Workbench 使用教程 - 如何使用 Workbench 操作 MySQL / MariaDB 数据库中文指南

    MySQL Workbench 是一款专门为 MySQL 设计的可视化数据库管理软件,我们可以在自己的计算机上,使用图形化界面远程管理 MySQL 数据库. 有关 MySQL 远程管理软件,你可以选择 ...

  2. python经典类新式类_Python新式类与经典类(旧式类)的区别

    看写poc的时候看到的,思考了半天,现在解决了 转载自http://blog.csdn.net/zimou5581/article/details/53053775 Python中类分两种:旧式类和新 ...

  3. python面向对象类_python:面向对象(类)

    #!usr/bin/env python # -*- coding:utf-8 -*- __author__ = "Samson" ###类变量与实例变量 class Role: ...

  4. python 数据类_python数据类

    前言 之前有写过一篇python元类的笔记,元类主要作用就是在要创建的类中使用参数metaclass=YourMetaclass调用自定义的元类,这样就可以为所有调用了这个元类的类添加相同的属性了. ...

  5. python 新式类和旧式类_python新式类和旧式类区别

    python的新式类是2.2版本引进来的,我们可以将之前的类叫做经典类或者旧式类. 为什么要在2.2中引进new style class呢?官方给的解释是: 为了统一类(class)和类型(type) ...

  6. python元类_Python元类

    python元类 Welcome to today's tutorial on python metaclass. We all know that python is an object orien ...

  7. python 新式类 旧式类_Python新式类与经典类(旧式类)的区别

    Python中类分两种:旧式类和新式类: ➤新式类都从object继承,经典类不需要. ➤新式类的MRO(method resolution order 基类搜索顺序)算法采用C3算法广度优先搜索,而 ...

  8. python新式类好还是经典类_python新式类和经典类的区别?

    python新式类和经典类的区别? 1)首先,写法不一样: class A: pass class B(object): pass 2)在多继承中,新式类采用广度优先搜索,而旧式类是采用深度优先搜索. ...

  9. redis python 出错重连_python穿透类 对象代理

    # coding:utf-8 import os import logging # 对象代理 # 用于解决需要在包调用与业务代码之间增加一些其他操作的场景 # 比如:应用程序中使用redis包对象,我 ...

最新文章

  1. vue.config.js配置代理不生效_npm install的代理问题
  2. OpenCV中的全景拼接例程
  3. 修身论文2000字_软考论文怎么写
  4. php上传文件到七牛云源码,laravel上传文件到七牛云存储
  5. 3个技巧让你正能量满满
  6. 128.最长连续序列
  7. android中显示提示图标在edittext左侧,设置图标的大小,王立平--EditText实现单行显示,左側图标,提示信息...
  8. 项目中的textarea遇到的小问题
  9. JavaScript中的输入输出语句
  10. 简单的Java串口通讯应答示例
  11. 17.Zend_View
  12. openGL超级宝典第七版
  13. php0day,Nginx 0day漏洞—却原来是php漏洞
  14. python课程的中期报告范文_毕业论文中期报告范文(毕业论文中期检查范文8篇)...
  15. uva 473 - Raucous Rockers(dp)
  16. 如何批量将PNG格式转化为JPG格式
  17. 数据可视化技术有什么特点
  18. vue中使用vue-waterfall2来实现瀑布流
  19. 计算机虚拟化的基本概念,虚拟化和虚拟机基本概念
  20. SpringCloud 整合 Dubbo

热门文章

  1. 拯救你的年终报告!巧用可视化图表秀出年终业绩
  2. 官方中文文档上线了!Python各种教程已汉化。
  3. 让我们拭目以待的5z20
  4. 飞秋官方下载 这个程序很不错
  5. 163相册密码破解 - 简单版
  6. 几种不同的邮件发送解决方案
  7. 水滴石穿C语言之声明的语法
  8. 程序员救赎之路:从“996”到微软“4天6小时工作制”
  9. C语言和C+的区别是什么?8个点通俗易懂的告诉你
  10. 怎样高效入门 Vue?