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 相关文章推荐
Python中使用items()方法返回字典元素对的教程
May 21 Python
python实现web方式logview的方法
Aug 10 Python
使用Python对SQLite数据库操作
Apr 06 Python
Python中Scrapy爬虫图片处理详解
Nov 29 Python
django使用xlwt导出excel文件实例代码
Feb 06 Python
Python快速查找list中相同部分的方法
Jun 27 Python
浅谈django的render函数的参数问题
Oct 16 Python
Python 读取 YUV(NV12) 视频文件实例
Dec 09 Python
Python面向对象封装操作案例详解
Dec 31 Python
Python模块常用四种安装方式
Oct 20 Python
Django启动时找不到mysqlclient问题解决方案
Nov 11 Python
使用Python判断一个文件是否被占用的方法教程
Dec 16 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
PHP错误提示的关闭方法详解
2013/06/23 PHP
使用Laravel中的查询构造器实现增删改查功能
2019/09/03 PHP
php输出反斜杠的实例方法
2019/09/19 PHP
JS模板实现方法
2013/04/03 Javascript
JS检测输入字符是否包含非法字符的示例代码
2014/02/11 Javascript
js/jquery判断浏览器的方法小结
2014/09/02 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
javascript实现延时显示提示框特效代码
2016/04/27 Javascript
JavaScript定义函数的三种实现方法
2017/09/23 Javascript
详谈DOM简介及节点、属性、查找节点的方法
2017/11/16 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
详解Vue.js iview实现树形权限表(可扩展表)
2018/09/30 Javascript
微信小程序中使用echarts的实现方法
2019/04/24 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
解决tensorflow模型参数保存和加载的问题
2018/07/26 Python
浅析python3中的os.path.dirname(__file__)的使用
2018/08/30 Python
提升Python程序性能的7个习惯
2019/04/14 Python
pandas.read_csv参数详解(小结)
2019/06/21 Python
python中的单引号双引号区别知识点总结
2019/06/23 Python
python数据化运营的重要意义
2019/11/25 Python
python 绘制场景热力图的示例
2020/09/23 Python
python 实现网易邮箱邮件阅读和删除的辅助小脚本
2021/03/01 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
DC Shoes官网:美国滑板鞋和服饰品牌
2017/09/03 全球购物
Otticanet意大利:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
在C中是否有模拟继承等面向对象程序设计特性的好方法
2012/05/22 面试题
大学毕业生简单自荐信
2013/11/05 职场文书
个人自我评价和职业目标
2014/01/24 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
2014年社区居委会主任重阳节讲话稿
2014/09/25 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书
大学升旗仪式主持词
2015/07/04 职场文书
高二英语教学反思
2016/03/03 职场文书
腾讯云服务器部署前后分离项目之前端部署
2022/06/28 Servers