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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。