标签:etc 使用 password 连接数 div init cut .sql class
使用上下文管理器, 提取与mysql数据库连接的方法:
减少了每次连接数据库的代码量.
原代码:
1 import pymysql 2 3 conn = pymysql.connect(host="localhost", port=3306, database="datas_database", user="root", password="mysql",charset="utf8") 4 5 cur = conn.cursor() 6 7 sql = """select * from datas;""" 8 cur.execute(sql) 9 content = cur.fetchall() 10 11 # 需要进行的操作:关闭数据库连接 12 cur.close() 13 conn.close() 14 15 for temp in content: 16 print(temp)
提取之后:
1 import pymysql 2 3 class ExecuteSql(object): 4 def __init__(self,database,sql): 5 self.conn = pymysql.connect(host="localhost", port=3306, database=database, user="root", password="mysql", 6 charset="utf8") 7 self.cur = self.conn.cursor() 8 self.sql = sql 9 10 def __enter__(self): 11 self.cur.execute(self.sql) 12 return self.conn, self.cur 13 14 def __exit__(self, exc_type, exc_val, exc_tb): 15 self.cur.close() 16 self.conn.close() 17 18 # 传入数据库名字和sql语句, 不用重复写创建连接的代码,直接操作数据库,减少一些代码量 19 database = "datas_database" 20 sql = """select * from datas;""" 21 22 with ExecuteSql(database, sql) as e: 23 conn, cur = e 24 for temp in cur.fetchall(): 25 print(temp) 26 # conn.commit() # 如果执行修改语句, 需要提交一下.
标签:etc 使用 password 连接数 div init cut .sql class
原文地址:https://www.cnblogs.com/12plus12/p/8953807.html