pymysql的简单封装代码实例


Posted in Python onJanuary 08, 2020

这篇文章主要介绍了pymysql的简单封装代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

#coding=utf-8 
#!/usr/bin/python

import pymysql


class MYSQL:
  """
  对pymysql的简单封装
  """
  def __init__(self,host,user,pwd,db):
    self.host = host
    self.user = user
    self.pwd = pwd
    self.db = db

  def __GetConnect(self):
    """
    得到连接信息
    返回: conn.cursor()
    """
    if not self.db:
      raise(NameError,"没有设置数据库信息")
    self.conn = pymysql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")
    cur = self.conn.cursor()
    if not cur:
      raise(NameError,"连接数据库失败")
    else:
      return cur

  def ExecQuery(self,sql):
    """
    执行查询语句
    返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段

    调用示例:
        ms = MYSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")
        resList = ms.ExecQuery("SELECT id,NickName FROM WeiBoUser")
        for (id,NickName) in resList:
          print str(id),NickName
    """
    cur = self.__GetConnect()
    cur.execute(sql)
    resList = cur.fetchall()

    #查询完毕后必须关闭连接
    self.conn.close()
    return resList

  def ExecNonQuery(self,sql):
    """
    执行非查询语句

    调用示例:
      cur = self.__GetConnect()
      cur.execute(sql)
      self.conn.commit()
      self.conn.close()
    """
    cur = self.__GetConnect()
    cur.execute(sql)
    self.conn.commit()
    self.conn.close()

def main():

  mysql = MYSQL(host="192.168.163.36",user="wisdomhr",pwd="wisdomhr",db="WISDOMHR")
  resList = mysql.ExecQuery("SELECT CITY FROM RES_SCHOOL")
  for inst in resList:
    print(inst)
if __name__ == '__main__':
  main()

用法如下:

#!/usr/bin/python
#version 3.4
import wispymysql
mysql = wispymysql.MYSQL(host="192.168.163.36",user="wisdomhr",pwd="wisdomhr",db="WISDOMHR")
selectsql = "SELECT ID, CITY FROM RES_SCHOOL WHERE CITY LIKE '%\r\n%'"
result = mysql.ExecQuery(selectsql)

for (dbid, city) in result:
  rightcity = city.replace('\r\n','')
  updatesql= "UPDATE RES_SCHOOL SET CITY = '" + rightcity + "' WHERE ID = " + str(dbid)
  print(updatesql)
  mysql.ExecNonQuery(updatesql)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python3中的gettext模块翻译Python源码以支持多语言
Mar 31 Python
Python的SQLAlchemy框架使用入门
Apr 29 Python
python引用DLL文件的方法
May 11 Python
浅析Python中将单词首字母大写的capitalize()方法
May 18 Python
python中利用队列asyncio.Queue进行通讯详解
Sep 10 Python
Python调用C语言的方法【基于ctypes模块】
Jan 22 Python
python cumsum函数的具体使用
Jul 29 Python
浅谈keras中的目标函数和优化函数MSE用法
Jun 10 Python
python根据字典的键来删除元素的方法
Aug 16 Python
python exit出错原因整理
Aug 31 Python
Python下载的11种姿势(小结)
Nov 18 Python
完美解决Pycharm中matplotlib画图中文乱码问题
Jan 11 Python
pytorch使用 to 进行类型转换方式
Jan 08 #Python
Pycharm 2020年最新激活码(亲测有效)
Sep 18 #Python
Pytorch to(device)用法
Jan 08 #Python
pycharm 2019 最新激活方式(pycharm破解、激活)
Sep 22 #Python
Python语言异常处理测试过程解析
Jan 08 #Python
Pytorch在NLP中的简单应用详解
Jan 08 #Python
解析PyCharm Python运行权限问题
Jan 08 #Python
You might like
世界咖啡生产者论坛呼吁:需要立即就咖啡价格采取认真行动
2021/03/06 咖啡文化
php 之 没有mysql支持时的替代方案
2006/10/09 PHP
PHP 存储文本换行实现方法
2010/01/05 PHP
PHP函数http_build_query使用详解
2014/08/20 PHP
php从memcache读取数据再批量写入mysql的方法
2014/12/29 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
laravel 事件/监听器实例代码
2019/04/12 PHP
JavaScript 设计模式 富有表现力的Javascript(一)
2010/05/26 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
AngularJs验证重复密码的方法(两种)
2016/11/25 Javascript
JavaScript实现的简单加密解密操作示例
2018/06/01 Javascript
openlayers4实现点动态扩散
2020/08/17 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
2020/08/21 Javascript
对python借助百度云API对评论进行观点抽取的方法详解
2019/02/21 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
python sorted函数的小练习及解答
2019/09/18 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
浅析CSS3 用text-overflow解决文字排版问题
2020/10/28 HTML / CSS
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
使用PDF.JS插件在HTML中预览PDF文件的方法
2018/08/29 HTML / CSS
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
2016/04/03 面试题
自我评价的正确写法
2013/09/19 职场文书
网络工程师个人的自我评价范文
2013/10/01 职场文书
万能检讨书
2015/01/27 职场文书
2015年南京大屠杀纪念日活动总结
2015/03/24 职场文书
单位介绍信格式范文
2015/05/04 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
纯html+css实现打字效果
2021/08/02 HTML / CSS
PHP中多字节字符串操作实例详解
2021/08/23 PHP
JavaScript最完整的深浅拷贝实现方式详解
2022/02/28 Javascript
集英社今正式宣布 成立游戏公司“集英社Games”
2022/03/31 其他游戏
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL