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 相关文章推荐
深入理解Django中内置的用户认证
Oct 06 Python
简单了解OpenCV是个什么东西
Nov 10 Python
Python编程之基于概率论的分类方法:朴素贝叶斯
Nov 11 Python
python机器学习实战之最近邻kNN分类器
Dec 20 Python
对pyqt5之menu和action的使用详解
Jun 20 Python
Python的Lambda函数用法详解
Sep 03 Python
Python Django2.0集成Celery4.1教程
Nov 19 Python
python实现跨excel sheet复制代码实例
Mar 03 Python
python 使用while循环输出*组成的菱形实例
Apr 12 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
May 20 Python
Python tempfile模块生成临时文件和临时目录
Sep 30 Python
Python3+Django get/post请求实现教程详解
Feb 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
php递归函数中使用return的注意事项
2014/01/17 PHP
php求一个网段开始与结束IP地址的方法
2015/07/09 PHP
php opendir()列出目录下所有文件的实例代码
2016/10/02 PHP
PHP编程中的Session阻塞问题与解决方法分析
2017/08/07 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
PHP设计模式入门之状态模式原理与实现方法分析
2020/04/26 PHP
鼠标图片振动代码
2006/07/06 Javascript
JavaScript asp.net 获取当前超链接中的文本
2009/04/14 Javascript
javascript正则表达式中参数g(全局)的作用
2010/11/11 Javascript
Jquery 数组操作大全个人总结
2013/11/13 Javascript
jQuery检测返回值的数据类型
2015/07/13 Javascript
javascript使用Promise对象实现异步编程
2016/03/01 Javascript
详解jQuery简单的表格应用
2016/12/16 Javascript
jQuery常见的选择器及用法介绍
2016/12/20 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
2017/01/21 Javascript
ES6入门教程之Iterator与for...of循环详解
2017/05/17 Javascript
在vue中,v-for的索引index在html中的使用方法
2018/03/06 Javascript
react-native android状态栏的实现
2018/06/15 Javascript
利用js将ajax获取到的后台数据动态加载至网页中的方法
2018/08/08 Javascript
解决基于 keep-alive 的后台多级路由缓存问题
2020/12/23 Javascript
[02:04]2020年夜魇暗潮预告片
2020/10/30 DOTA
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
python障碍式期权定价公式
2019/07/19 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
新护士岗前培训制度
2014/02/02 职场文书
中班上学期幼儿评语
2014/04/30 职场文书
婚礼答谢词
2015/01/04 职场文书
公司人事管理制度
2015/08/05 职场文书
高一英语教学反思
2016/03/03 职场文书
学校就业保障协议书
2019/06/24 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书
win10+anaconda安装yolov5的方法及问题解决方案
2021/04/29 Python
Go Plugins插件的实现方式
2021/08/07 Golang