Python数据库封装实现代码示例解析
Django中(原生mysql封装)
1.函数封装
importpymysql
#查所数据
defget_all(sql):
conn=pymysql.connect(host="localhost",user="root",password="root",database="db6")
cur=conn.cursor(cursor=pymysql.cursors.DictCursor)
cur.execute(sql)
res=cur.fetchall()
cur.close()
conn.close()
returnres
#查一行数据
defget_one(sql,args):
conn=pymysql.connect(host="localhost",user="root",password="root",database="db6")
cur=conn.cursor(cursor=pymysql.cursors.DictCursor)
cur.execute(sql,args)
res=cur.fetchone()
cur.close()
conn.close()
returnres
#增删改都要提交commit
defget_mif(sql,args):
conn=pymysql.connect(host="localhost",user="root",password="root",database="db6")
cur=conn.cursor(cursor=pymysql.cursors.DictCursor)
cur.execute(sql,args)
conn.commit()
cur.close()
conn.close()
#增删改都要提交commit
#添加并且带返回值
defget_create(sql,args):
conn=pymysql.connect(host="localhost",user="root",password="root",database="db6")
cur=conn.cursor(cursor=pymysql.cursors.DictCursor)
cur.execute(sql,args)
conn.commit()
cur.close()
conn.close()
returncur.lastrowid
#python插入记录后取得主键id的方法(cursor.lastrowid和conn.insert_id())
#增删改都要提交commit
#批量加入以元祖的形式传参数就是添加几次次提交一次
defmul_mode(sql,args):
conn=pymysql.connect(host="localhost",user="root",password="root",database="db6")
cur=conn.cursor(cursor=pymysql.cursors.DictCursor)
#self.cursor.executemany("insertintouser(id,name)values(%s,%s)",[(1,"aaa"),(2,"bbb"),(3,"ccc")])传参方式
cur.executemany(sql,args)
conn.commit()
cur.close()
conn.close()
2.对象封装
importpymysql
#注意args参数可以传空值[]
classMysqls(object):
def__init__(self):
#读取配置文件
self.connect()
defconnect(self):
self.conn=pymysql.connect(host="localhost",user="root",password="root",database="db6")#可以把主机连接等写入配置文件等
self.cursor=self.conn.cursor(cursor=pymysql.cursors.DictCursor)
#获取所以数据
defget_all(self,sql,args):
self.cursor.execute(sql,args)
res=self.cursor.fetchall()
returnres
#获取一行数据
defget_one(self,sql,args):
self.cursor.execute(sql,args)
res=self.cursor.fetchone()
returnres
#添加就是添加一次提交多次
defget_mode(self,sql,args):
self.cursor.execute(sql,args)
self.conn.commit()
#添加并且带返回值
defget_create(self,sql,args):
self.cursor.execute(sql,args)
self.conn.commit()
returnself.cursor.lastrowid
#python插入记录后取得主键id的方法(cursor.lastrowid和conn.insert_id())
#批量加入以元祖的形式传参数就是添加一次提交一次
defmul_mode(self,sql,args):
#self.cursor.executemany("insertintouser(id,name)values(%s,%s)",[(1,"aaa"),(2,"bbb"),(3,"ccc")])传参方式
self.cursor.executemany(sql,args)
self.conn.commit()
defget_close(self):
self.cursor.close()
self.conn.close()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。