pymysql的简单封装代码实例

yipeiwu_com6年前Python基础

这篇文章主要介绍了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 接收Post请求数据,并保存到数据库的实现方法

要说基本操作,大家基本都会,但是有时候,有些操作使用小技巧会节省很多时间。 本篇描述的就是使用dict小技巧,保存到数据库,用来节省大家编码的工作量。 主要内容:通过for循环拿到pos...

python 两个数据库postgresql对比

这篇文章主要介绍了python 两个数据库postgresql对比,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 比较两个postgr...

在交互式环境中执行Python程序过程详解

在交互式环境中执行Python程序过程详解

前言 相信接触过Python的伙伴们都知道运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行、命令行窗口运行、开发工具上运行等,其中在不同的操作平台上还互不相同。今天...

Python元组知识点总结

Python的元组与列表类似,不同之处在于元组的元素不能修改。 元组使用小括号,列表使用方括号。 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。 如下实例: tu...

Django框架基础模板标签与filter使用方法详解

Django框架基础模板标签与filter使用方法详解

本文实例讲述了Django框架基础模板标签与filter使用方法。分享给大家供大家参考,具体如下: 一、基本的模板语言 1、变量 {{ }} 1.1、进入Django shell 环境...