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 sys模块sys.path使用方法示例
Dec 04 Python
在Python的web框架中中编写日志列表的教程
Apr 30 Python
Linux下使用python自动修改本机网关代码分享
May 21 Python
python使用锁访问共享变量实例解析
Feb 08 Python
python smtplib模块自动收发邮件功能(一)
May 22 Python
Python selenium的基本使用方法分析
Dec 21 Python
Python object类中的特殊方法代码讲解
Mar 06 Python
基于python 凸包问题的解决
Apr 16 Python
浅谈Selenium 控制浏览器的常用方法
Dec 04 Python
详解Django的MVT设计模式
Apr 29 Python
Python if else条件语句形式详解
Mar 24 Python
python中filter,map,reduce的作用
Jun 10 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
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
PHP使用数组实现队列
2012/02/05 PHP
PHP可变函数的使用详解
2013/06/14 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
php实现通过ftp上传文件
2015/06/19 PHP
ThinkPHP实现图片上传操作的方法详解
2017/05/08 PHP
php实现的三个常用加密解密功能函数示例
2017/11/06 PHP
Laravel下生成验证码的类
2017/11/15 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
基于jquery的回到页面顶部按钮
2011/06/27 Javascript
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
JS面向对象编程浅析
2011/08/28 Javascript
js几秒以后倒计时跳转示例
2013/12/26 Javascript
常见的jQuery选择器汇总
2014/11/24 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
javascript jquery对form元素的常见操作详解
2016/06/12 Javascript
JavaScript自定义文本框光标
2017/03/05 Javascript
总结js函数相关知识点
2018/02/27 Javascript
JavaScript实现猜数字游戏
2020/05/20 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
2020/09/27 Javascript
[01:00:04]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第二局
2016/02/26 DOTA
[44:50]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 TNC vs VG
2018/04/02 DOTA
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
Python操作json数据的一个简单例子
2014/04/17 Python
python 默认参数相关知识详解
2019/09/18 Python
Python读取分割压缩TXT文本文件实例
2020/02/14 Python
使用matplotlib动态刷新指定曲线实例
2020/04/23 Python
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
H5混合开发app如何升级的方法
2018/01/10 HTML / CSS
个人租房协议书样本
2014/10/01 职场文书
上课迟到检讨书300字
2014/10/15 职场文书
铣工实训报告
2014/11/05 职场文书
2014年结对帮扶工作总结
2014/12/17 职场文书
2015年度学校应急管理工作总结
2015/10/22 职场文书
CSS实现渐变色边框(Gradient borders)的5种方法
2022/03/25 HTML / CSS