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.x中自定义比较函数
Apr 24 Python
详解Python中的日志模块logging
Jun 19 Python
python调用百度语音识别实现大音频文件语音识别功能
Aug 30 Python
python正则表达式去除两个特殊字符间的内容方法
Dec 24 Python
Python闭包思想与用法浅析
Dec 27 Python
Python3实现从排序数组中删除重复项算法分析
Apr 03 Python
Python3 串口接收与发送16进制数据包的实例
Jun 12 Python
python获取txt文件词向量过程详解
Jul 05 Python
python使用ctypes调用扩展模块的实例方法
Jan 28 Python
Python tkinter模版代码实例
Feb 05 Python
Python用Jira库来操作Jira
Dec 28 Python
python pygame 开发五子棋双人对弈
May 02 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 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
2012/03/07 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
PHP简单实现循环链表功能示例
2017/11/10 PHP
PHP Class SoapClient not found解决方法
2018/01/20 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
某页码显示的helper 少量调整,另附js版
2010/09/12 Javascript
javascript面向对象入门基础详细介绍
2012/09/05 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
JS网页图片按比例自适应缩放实现方法
2014/01/15 Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
2014/01/17 Javascript
JavaScript中使用Math.floor()方法对数字取整
2015/06/15 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
elementUI table表格动态合并的示例代码
2019/05/15 Javascript
Vue 组件复用多次自定义参数操作
2020/07/27 Javascript
[06:07]刀塔密之二:攻之吾命受之吾幸
2014/07/03 DOTA
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[49:08]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
基于python爬虫数据处理(详解)
2017/06/10 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
Python时间序列处理之ARIMA模型的使用讲解
2019/04/02 Python
详解python中__name__的意义以及作用
2019/08/07 Python
python实现按关键字筛选日志文件
2019/12/24 Python
python实现随机加减法生成器
2020/02/24 Python
HTML5通用接口详解
2016/06/12 HTML / CSS
Godiva巧克力英国官网:比利时歌帝梵巧克力
2018/08/28 全球购物
Hanky Panky官方网站:内衣和睡衣
2019/07/25 全球购物
世界汽车零件:World Car Parts
2019/09/04 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
2014年五四青年节活动方案
2014/03/29 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书
浅谈MySql整型索引和字符串索引失效或隐式转换问题
2021/11/20 MySQL
Java Lambda表达式常用的函数式接口
2022/04/07 Java/Android