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()


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341