在pycharm中建立一个模块来帮助处理数据库中表的数据

每每在pycharm中工做要建立不少文件,文件一多并且若是要链接数据库的话,有不少代码都是同样的,为了避免必要的麻烦,能够新建一个模块来,将那些基本同样的代码封装到模块中,要用的时候就实例化出来,传入必要的参数就行,就不用在每一个文件中都写相同的那些代码,一来减小工做量,二来代码看起来简洁明了,让人看着舒服,容易阅读吸取。下面就讲讲链接mysql数据库时建立一个模块来帮助处理数据库中表的数据。

一、首先得引入pymysql模块
import pymysql
而后建立一个专门来放操做这个表的一个类(这里我就随便创了一个类)python

class FootUtils(object):
    # 设置经常使用的默认值
    def __init__(self,host="10.31.150.143",user="hz1805",password="123456",database="school"):
        self.host = host
        self.user = user
        self.password = password
        self.database = database
        self.charset = "utf8"

    # 链接数据库
    def connetdb(self):
        self.connet = pymysql.connect(host=self.host,user=self.user,password=self.password,database=self.database,charset=self.charset)
        self.curcor = self.connet.cursor()

    # 关闭数据库
    def closedb(self):
        self.curcor.close()
        self.connet.close()

    # 增删改查
    def insertFood(self,foodname,foodprice):
        self.connetdb()
        try:
            sqlInsert = "insert into food values(0,'"+str(foodname)+"',"+str(foodprice)+");"
            self.curcor.execute(sqlInsert)
            self.connet.commit()
        except:
            self.connet.rollback()

        self.closedb()

    # 删除
    def delFood(self,id):
        self.connetdb()
        try:
            # 删除sql
            sqlDel="delete from food where id='"+str(id)+"'"
            self.curcor.execute(sqlDel)
            self.connet.commit()
        except:
            self.connet.rollback()

        self.closedb()

二、这样就将一些链接数据库的基本操做封装在了FootUtils类中,在构造函数init中设置基本的链接参数,到时实例化直接传参就行。mysql

三、链接数据库创建一个方法connetdb(),web

self.connet = pymysql.connect(host=self.host,user=self.user,password=self.password,database=self.database,charset=self.charset)
self.curcor = self.connet.cursor()

里面的参数只要调用时传参就好了sql

四、关闭数据库(关闭链接)数据库

def closedb(self):
    self.curcor.close()
    self.connet.close()

在执行完表的操做后,务必调用关闭链接的操做svg

五、还能够封装一些比较经常使用的命令到模块中,这要根据具体状况来定,这时只要在封装的方法中调用链接数据库和关闭链接方法便可。值得注意的是,在不一样方法中调用其余方法或变量时,要用self.来调用,这就涉及到做用域的问题。函数

有不足之处还望大佬们批评指正。spa