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

如何调用直接看__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 ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值