————哈喽,大倩倩又来啦 🙇♀️🙇♀️🙇♀️
鉴于各位小伙伴的代码能力参差不齐,而且实际项目中用到的程度也不一样,大概整理了几种封装的方法。算是从简单到难吧,看各位的实际需要自行选择自己能掌握的就 OK 拉~~🤞🤞🤞
1.封装 01
import pymysql
# 打开数据库连接
def query_db(sql):
db = pysql.connct(
"host" = "localhost",
"port" = 3306,
"user" = "test",
"password" = "123456"
)
# 建立游标
cursor = db.cursor()
cursor.excute(sql)
data=cursor.fetchall()
#读取数据
print(data)
# 关闭数据库
db.close()
if __name__=="__main__":
query_db("select * from user where name='张三'")
这个方式的封装就比较简单,就是写了一个简单的函数,查询语句作为一个参数传入。
下面讲讲稍微高级点的封装~~~Go
2.封装 02
import pymysql
def get_conn():
db = pysql.connct(
"host" = "localhost",
"port" = 3306,
"user" = "test",
"password" = "123456"
)
return db
def query_db(sql):
db=get_conn()
cursor=db.cursor()
cursor.excute(sql)
data = cursor.fetchall()
# 读取数据
print(data)
# 关闭数据库
db.close()
if __name__=="__main__":
query_db("select * from user where name='张三'")
这种方法是把数据库的连接配置单独写成一个函数,这样每次在想要用到数据库的时候直接调用这个方法就好~~这个是不是比上面的写法更加高级一点点呢 😄 😄 😄 😄
3.封装 03
- 新建一个 config.py 的文件,写上数据库的配置;
# 数据配置
DB_API_TEST = {
"host": "localhost",
"port": 3306,
"user": "test",
"password": "123456",
"db": "test_Hu"
}
DB_API_TEST2={略}
注:这里可以写很多个数据库的配置奥~~
- 新建新的 PY 文件来进行调用test.py
import pymysql
from config import DB_API_TEST
def get_conn():
conn = pymysql.connect(**DB_API_TEST)
return conn
# 查询
def query_db(conn,sql):
conn = get_conn()
# 2. 建立游标
cur = conn.cursor()
# 3. 执行sql
cur.execute(sql)
# 4. 获取数据
result = cur.fetchall()
return result
if __name__ == "__main__":
print(query_db(conn, "select * from user"))
conn.close()
4.封装 04
当有多个数据库的连接时,上诉的方法太繁琐了,每次都要写好多~~来来来,再给大家介绍一种再牛逼点的写法
import pymysql
from config import DB_API_TEST,DB_GAOZHONG_TEST #导入2个数据库配置
def get_conn(db_confT):
conn = pymysql.connect(**db_conf)
return conn
def query_db(conn,sql):
cur = conn.cursor()
cur.execute(sql)
return cur.fetchall()
if __name__ == "__main__":
conn = get_conn(DB_API_TES) #数据库配置信息作为参数
sql_query = "select * from user;"
query_db(conn, sql_query)
conn.close()
数据库的配置当成一个参数传给函数,你想调用那个数据库,只要修改数据库配置以及查询语句就可以啦~~ 好啦,今天数据库的封装就给大家讲到这里啦,各位喜欢的话请多多关注和打赏奥,么么哒
下期:unittest模块讲解
赞我 🤞 赞我 🤞 赞我 🤞 赞我 🤞 赞我 🤞