如何调用直接看__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工具类(一)—— 操作Mysql数据库的更多相关文章

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

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

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

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

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

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

  4. python 3.6 +pyMysql 操作mysql数据库

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

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

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

  6. 使用python操作mysql数据库

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

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

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

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

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

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

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

随机推荐

  1. SVN常用命令之checkout

    官方解释,请参考:http://www.subversion.org.cn/svnbook/nightly/svn.ref.svn.c.checkout.html 常用检出命令: svn co htt ...

  2. java用普通类如何实现枚举功能

    用普通类如何实现枚举功能,定义一个Weekday的类来模拟枚举功能.     1.私有的构造方法.     2.每个元素分别用一个公有的静态成员变量表示.      可以有若干公有方法或抽象方法.采用 ...

  3. 【30.43%】【codeforces 746C】Tram

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  4. Linux 内核释放函数和 kobject 类型

    讨论中仍然缺失的一个重要事情是当一个 kobject 的引用计数到 0 时会发生什么. 创建 kobject 的代码通常不知道什么时候要发生这个情况; 如果它知道, 在第一位使用一个引 用计数就没有意 ...

  5. vagrant在windows下的安装和配置(一)

    记录一下安装和配置过程中的一些坑步骤一分别下载vagrant和VirtualBox,我这里下载的是vagrant_1.9.1.msi 和 VirtualBox-5.1.14-112924-Win.ex ...

  6. centos7 断电导致 generating /run/initramfs/rdsosreport.txt 问题

    开机就进入命令窗口,窗口提示信息如下: generating “/run/initramfs/rdsosreport.txt” entering emergencymode. exit the she ...

  7. 泛圈科技Yottachain区块链云存储打破传统云迎来价值数据存储

    随着物联网时代的发展,更多的数据随之产生.从智能设备到电脑再到视频游戏机,各种各样的信息从不同的电子产品源源不断地涌入.通常,人们将数据存储在本地驱动器中.但是,由于产生的数据量是无限的,超过了本地存 ...

  8. 银川区域赛 H道路与航线(原题啊)

    按照<算法竞赛进阶指南>写的 哦对了,注意下最后判断,因为开始拓扑的时候,s可能不在里边,所以不一定等于INF,而是应该大于等于INF #include<cstring> #i ...

  9. 【题解】有标号的DAG计数2

    [HZOI 2015] 有标号的DAG计数 II \(I\)中DP只有一个数组, \[ dp_i=\sum{i\choose j}2^{j(i-j)}dp_{i-j}(-1)^{j+1} \] 不会. ...

  10. Ecshop在模板中判断用户是否登陆,获取用户等级信息

    ecshop模板中smarty怎样判断用户等级.用户id.用户昵称用户名,请看以下方法,使用全局变量 <!-- {if $smarty.session.user_rank gt 1}--> ...