Python实现一个简单的MySQL类

yipeiwu_com6年前Python基础

本文实例讲述了Python实现一个简单的MySQL类。分享给大家供大家参考。

具体实现方法如下:

复制代码 代码如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Created on 2011-2-19
# @author: xiaoxiao
import MySQLdb
import sys
__all__ = ['MySQL']
class MySQL(object):
    '''
    MySQL
    '''
    conn = ''
    cursor = ''
    def __init__(self,host='localhost',user='root',passwd='root',db='mysql',charset='utf8'):
      
        """MySQL Database initialization """
        try:
            self.conn = MySQLdb.connect(host,user,passwd,db)
        except MySQLdb.Error,e:
            errormsg = 'Cannot connect to server\nERROR (%s): %s' %(e.args[0],e.args[1])
            print errormsg
            sys.exit()
          
        self.cursor = self.conn.cursor()
      
    def query(self,sql):
        """  Execute SQL statement """
        return self.cursor.execute(sql)
  
    def show(self):
        """ Return the results after executing SQL statement """
        return self.cursor.fetchall()
             
    def __del__(self):
        """ Terminate the connection """
        self.conn.close()
        self.cursor.close()
      
#test
if __name__ == '__main__':
  
    mysql = MySQL(host=localhost,passwd='test',db='mysql')
    mysql.query('select * from users')
    result = mysql.show()
    print len(result)
    print result[1]

希望本文所述对大家的Python程序设计有所帮助。

相关文章

简单了解Django ContentType内置组件

简单了解Django ContentType内置组件

一、引出问题 假如有这两张表,它们中的课程可能价格不一样、周期不一样、等等...不一样...,现在有一张价格策略表,怎么就用一张表报保存它们之间不同的数据呢? 可能你会这样: 确实是...

python射线法判断一个点在图形区域内外

用python 实现的代码:判断一个点在图形区域内外,供大家参考,具体内容如下 # -*-encoding:utf-8 -*- # file:class.py # """ 信息...

不到20行代码用Python做一个智能聊天机器人

不到20行代码用Python做一个智能聊天机器人

伴随着自然语言技术和机器学习技术的发展,越来越多的有意思的自然语言小项目呈现在大家的眼前,聊天机器人就是其中最典型的应用,今天小编就带领大家用不到20行代码,运用两种方式搭建属于自己的...

Python实现k-means算法

Python实现k-means算法

本文实例为大家分享了Python实现k-means算法的具体代码,供大家参考,具体内容如下 这也是周志华《机器学习》的习题9.4。 数据集是西瓜数据集4.0,如下 编号,密度,含糖率...

Python学习pygal绘制线图代码分享

Python学习pygal绘制线图代码分享

pygal的安装大家可以参阅:pip和pygal的安装实例教程 线图: import pygal line_chart = pygal.Line() line_chart.titl...