python --- 面向对象连接数据库

一   **  任务:数据库操作工具类   DBUtil  DBHelper

完成学生管理系统    扩展* 制作 exe 可执行程序

扩展任务:真实的项目需求

功能描述:每天的人员点名和作业完成情况 整理为文档或者数据库

功能实现:

1.实现:实现每周每人点名未到的次数

2.实现: 实现每周每人作业未交的次数

3.实现:汇总每人总的作业未交的次数 和 总的 点名未到的次数

真实的工作需求

二   * * *   封装数据库操作的工具类  属性   方法

Ⅰ              定义函数   查询语句sql  参数元组params

        增删改方法  python连接mysql数据库操作和参数不相同,其他代码都一致! 

  Ⅱ           制作一个工具类       XXXHelper   XXXUtils  工具类

"""

面向对象编程制作工具类的思路

数据库工具类 * 作用使用面向对象的方式,

实现操作数据库代码的复用

创建类的思路***

1.定义类  定义类相关的属性  定义类相关的方法

mysql工具类 *

各种属性:host主机名  port端口号  user用户名  passwd密码 db数据库 charset字符编码 以及当前类的属性

各种方法:获取连接 获得游标对表进行增删改的操作方法 关闭资源的方法 获取一条或者所有数据

当前对象中的属性行为   通过类实例化对象导出来的方法

1.当前对象的属性一一列举

2.当前对象中的行为方法函数

"""

import pymysql

class MysqlHelper():

#初始化对象

    def __init__(self,host,port,user,passwd,db,charset="utf8"):

self.host=host

        self.port=port

        self.user=user

        self.passwd=passwd

        self.db=db

        self.charset=charset

        #self.conn=None

    def getconnect(self):

             #建立连接  属性参数形参传进去即可                                                                                                                              self.conn=pymysql.connect(host=self.host,port=self.port,user=self.user,passwd=self.passwd,db=self.db,charset=self.charset)

#获得游标和指针

        self.cur=self.conn.cursor()

#关闭资源

    def close(self):

            self.cur.close()

             self.conn.close()

#增删改的功能对表格进行操作返回影响的行数

    def myexecute(self,sql,params):

"""

增删改通用的功能(sql语句,参数列表)

        :return:

"""

        num=0

        #连接数据库

        self.getconnect()

#获得游标来进行增删改的操作返回影响的行数

        num=self.cur.execute(sql,params)

self.conn.commit()

self.close()

return num

def getone(self,sql,params=()):

"""

工具类获取一条数据

        :paramsql: sql语句

        :paramparams: 参数的列表

        :return:返回的是影响的行数

"""

        result=None

        self.getconnect()#打开数据库连接

        self.cur.execute(sql,params)

result=self.cur.fetchone()

self.close()

return result


测试类:


"""

增加测试

1.准备sql查询语句

2.准备参数

3.创建数据库连接也会有建立游标

4.调用增删改的方法对数据库进行操作

"""

from MySQLHelperimport *

def demo01():

sql="insert into student values(default,%s,%s,%s,%s,%s,%s)"

    #通过%s进行占位之后需要输入参数姓名性别年龄生日地址班级

    params=["yy","女",25,"2000-02-20","山西",2]

#通过类创建实例化MySQLHelper对象连接数据库 加入实参

#将数据库的对象创建出来就有获取链接的功能和游标和指针

    db=MysqlHelper("39.98.39.173",13306,"root","root","杨成森")

#对表格进行操作  建立游标和指针用实例化对象.出方法

    num=db.myexecute(sql,params)

if num>0:

print("增加成功")

else:

print("增加失败")

def demo02():

sql="select * from student where name = %s and id = %s"

    params=("way",7)

db=MysqlHelper("39.98.39.173",13306,"root","root","杨成森")

result=db.getone(sql,params)

print(result)

if __name__ =='__main__':

demo02()


你可能感兴趣的:(python --- 面向对象连接数据库)