背景说明: 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()
# 使用游标执行sql
cur.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 pymysql
class 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。