————哈嘍署海,大倩倩又來啦 ???♀????♀????♀?
鑒于各位小伙伴的代碼能力參差不齊黄虱,而且實際項目中用到的程度也不一樣旷坦,大概整理了幾種封裝的方法袭艺。算是從簡單到難吧搀崭,看各位的實際需要自行選擇自己能掌握的就 OK 拉~~??????
1.封裝 01
import pymysql
# 打開數(shù)據(jù)庫連接
def query_db(sql):
db = pysql.connct(
"host" = "localhost",
"port" = 3306,
"user" = "test",
"password" = "123456"
)
# 建立游標(biāo)
cursor = db.cursor()
cursor.excute(sql)
data=cursor.fetchall()
#讀取數(shù)據(jù)
print(data)
# 關(guān)閉數(shù)據(jù)庫
db.close()
if __name__=="__main__":
query_db("select * from user where name='張三'")
這個方式的封裝就比較簡單,就是寫了一個簡單的函數(shù)猾编,查詢語句作為一個參數(shù)傳入瘤睹。
下面講講稍微高級點的封裝~~~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()
# 讀取數(shù)據(jù)
print(data)
# 關(guān)閉數(shù)據(jù)庫
db.close()
if __name__=="__main__":
query_db("select * from user where name='張三'")
這種方法是把數(shù)據(jù)庫的連接配置單獨寫成一個函數(shù),這樣每次在想要用到數(shù)據(jù)庫的時候直接調(diào)用這個方法就好~~這個是不是比上面的寫法更加高級一點點呢 ?? ?? ?? ??
3.封裝 03
- 新建一個 config.py 的文件答倡,寫上數(shù)據(jù)庫的配置轰传;
# 數(shù)據(jù)配置
DB_API_TEST = {
"host": "localhost",
"port": 3306,
"user": "test",
"password": "123456",
"db": "test_Hu"
}
DB_API_TEST2={略}
注:這里可以寫很多個數(shù)據(jù)庫的配置奧~~
- 新建新的 PY 文件來進行調(diào)用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. 建立游標(biāo)
cur = conn.cursor()
# 3. 執(zhí)行sql
cur.execute(sql)
# 4. 獲取數(shù)據(jù)
result = cur.fetchall()
return result
if __name__ == "__main__":
print(query_db(conn, "select * from user"))
conn.close()
4.封裝 04
當(dāng)有多個數(shù)據(jù)庫的連接時,上訴的方法太繁瑣了瘪撇,每次都要寫好多~~來來來获茬,再給大家介紹一種再牛逼點的寫法
import pymysql
from config import DB_API_TEST,DB_GAOZHONG_TEST #導(dǎo)入2個數(shù)據(jù)庫配置
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) #數(shù)據(jù)庫配置信息作為參數(shù)
sql_query = "select * from user;"
query_db(conn, sql_query)
conn.close()
數(shù)據(jù)庫的配置當(dāng)成一個參數(shù)傳給函數(shù)港庄,你想調(diào)用那個數(shù)據(jù)庫,只要修改數(shù)據(jù)庫配置以及查詢語句就可以啦~~ 好啦锦茁,今天數(shù)據(jù)庫的封裝就給大家講到這里啦攘轩,各位喜歡的話請多多關(guān)注和打賞奧,么么噠
下期:unittest模塊講解
贊我 ?? 贊我 ?? 贊我 ?? 贊我 ?? 贊我 ??