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中操作文件之truncate()方法的使用教程
May 25 Python
Python中文分词实现方法(安装pymmseg)
Jun 14 Python
Python工程师面试必备25条知识点
Jan 17 Python
Python lambda函数基本用法实例分析
Mar 16 Python
解决python3 json数据包含中文的读写问题
May 10 Python
Django添加sitemap的方法示例
Aug 06 Python
对pyqt5多线程正确的开启姿势详解
Jun 14 Python
python按比例随机切分数据的实现
Jul 11 Python
python中web框架的自定义创建
Sep 08 Python
18个Python脚本可加速你的编码速度(提示和技巧)
Oct 17 Python
tensorflow之并行读入数据详解
Feb 05 Python
Python字符串格式化方式
Apr 07 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加密解密函数authcode的用法详细解析
2013/10/28 PHP
主流PHP框架的优缺点对比分析
2014/12/25 PHP
php实现批量修改文件名称的方法
2016/07/23 PHP
jquery+thinkphp实现跨域抓取数据的方法
2016/10/15 PHP
yii框架使用分页的方法分析
2019/07/25 PHP
jquery 锁定弹出层实现代码
2010/02/23 Javascript
jQuery maxlength文本字数限制插件
2010/04/16 Javascript
jquery easyui滚动条部分设置介绍
2013/09/12 Javascript
利用js动态添加删除table行的示例代码
2013/12/16 Javascript
js的2种继承方式详解
2014/03/04 Javascript
JavaScript数组深拷贝和浅拷贝的两种方法
2014/04/16 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
老生常谈jacascript DOM节点获取
2017/04/17 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
JS原生带小白点轮播图实例讲解
2017/07/22 Javascript
js原生代码实现轮播图的实例讲解
2017/07/28 Javascript
说说如何在Vue.js中实现数字输入组件的方法
2019/01/08 Javascript
vue-router 起步步骤详解
2019/03/26 Javascript
ES6 Map结构的应用实例分析
2019/06/26 Javascript
序列化模块json代码实例详解
2020/03/03 Javascript
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
[45:52]2018DOTA2亚洲邀请赛 4.1小组赛 A组加赛 LGD vs Liquid
2018/04/02 DOTA
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
django框架F&Q 聚合与分组操作示例
2019/12/12 Python
美国最大的香水连锁店官网:Perfumania
2016/08/15 全球购物
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
Kathmandu英国网站:新西兰户外运动品牌
2017/03/27 全球购物
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
JavaScript实现页面动态验证码的实现示例
2021/03/23 Javascript
公积金转移接收函
2014/01/11 职场文书
网站美工岗位职责
2014/04/02 职场文书
井冈山红色之旅心得体会
2014/10/07 职场文书
2015年学校图书室工作总结
2015/05/19 职场文书
Tomcat配置访问日志和线程数
2022/05/06 Servers