背景说明: 1、为了防止三天打鱼两天晒网式学习 2、每日更新1-2个小知识点或者案例 3、只看和跟着做的理解程度是不一样的 4、建议一起打卡练习 5、互相督促打卡 + v:yifuqiang2021
封装数据库操作
import pymysql# 获取连接方法def get_db_connect():db = pymysql.connect(host='localhost',port=3306,user='root',passwd='123456',db='api_test',charset='utf8')return db# 封装数据库查询def select_db(sql):# 建立数据库连接db = get_db_connect()# 从连接建立操作游标cur = db.cursor()# 使用游标执行sqlcur.execute(sql)# 获取结果result = cur.fetchall()cur.close() # 关闭游标db.close() # 关闭连接return result# 封装更改数据库操作def change_db(sql):db = get_db_connect()cur =db.cursor()try:cur.execute(sql)db.commit()except Exception as e:db.rollback()finally:cur.close()db.close()# 封装常用数据库操作def check_user():sql = """select * from usr """result = select_db(sql)print(result)def add_user(id,name):sql = """insert into usr(id,name)values({},'{}')""".format(id,name)change_db(sql)check_user()def change_user(id,name):sql = '''UPDATE usr SET id ={} WHERE name ="{}" '''.format(id,name)change_db(sql)check_user()def delete_user(id):sql = """delete from usr where id ={}""".format(id)change_db(sql)check_user()# 调用check_user() # 查add_user(8,"钱八") # 增change_user(7,'赵六')# 改delete_user(2)# 删

import pymysqlclass DB:def __init__(self):self.db = pymysql.connect(host='localhost',port=3306,user='root',passwd='123456',db='api_test')self.cur = self.db.cursor()def __del__(self):self.cur.close()self.db.close()def query(self,sql):self.cur.execute(sql)return self.cur.fetchall()def exec(self,sql):try:self.cur.execute(sql)self.db.commit()except Exception as e:self.db.rollback()print(e)def check_usr(self,name):sql="""select * from usr where name ='{}'""".format(name)result = self.query(sql)print(result)def add_usr(self,id,name):self.exec("""insert into usr (id,name) values ({},'{}')""".format(id,name))def change_usr(self,id,name):self.exec('''update usr set id={} where name = "{}"'''.format(id,name))def del_usr(self,name):result = self.exec("""delete from usr where name ='{}'""".format(name))# 实例化后调用db = DB()db.check_usr("张三") # 查db.add_usr(6,"赵六") # 增db.change_usr(3,"张三") # 改db.del_usr("吴八")# 删

操作 1)建立数据库连接 conn = pymysql.connect() 2)从连接建立操作游标 cur = conn.cursor() 3)使用游标执行sql(读/写) cur.execute(sql) 4)获取结果(读)/ 提交更改(写) cur.fetchall() conn.commit() 5)关闭游标及连接 cur.close();conn.close() 注 执行修改数据库的操作后不立即生效,使用连接db.commit()提交后才生效,支持事物及回滚db.rollback '''UPDATE usr SET id ={} WHERE name ="{}" '''.format(id,name),注意这里的“”和'',name为字符串需要用"" 封装 由于经常要使用到数据库操作,建议将所有数据库操作封装成公用的数据库模块 相比用例中直接使用sql操作数据库,封装常用的数据库操作会更安全 数据库连接信息建议写到配置文件中,从配置文件中读取
文章转载自走向易富强之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




