Python 數(shù)據(jù)庫封裝

————哈嘍署海,大倩倩又來啦 ???♀????♀????♀?

鑒于各位小伙伴的代碼能力參差不齊黄虱,而且實際項目中用到的程度也不一樣旷坦,大概整理了幾種封裝的方法袭艺。算是從簡單到難吧搀崭,看各位的實際需要自行選擇自己能掌握的就 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

  1. 新建一個 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ù)庫的配置奧~~

  1. 新建新的 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模塊講解

贊我 ?? 贊我 ?? 贊我 ?? 贊我 ?? 贊我 ??

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末码俩,一起剝皮案震驚了整個濱河市度帮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌稿存,老刑警劉巖笨篷,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異瓣履,居然都是意外死亡率翅,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門袖迎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來冕臭,“玉大人,你說我怎么就攤上這事燕锥」脊螅” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵归形,是天一觀的道長托慨。 經(jīng)常有香客問我,道長暇榴,這世上最難降的妖魔是什么厚棵? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮蔼紧,結(jié)果婚禮上婆硬,老公的妹妹穿的比我還像新娘。我一直安慰自己奸例,他們只是感情好柿祈,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著哩至,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蜜自。 梳的紋絲不亂的頭發(fā)上菩貌,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機與錄音重荠,去河邊找鬼箭阶。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的仇参。 我是一名探鬼主播嘹叫,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼诈乒!你這毒婦竟也來了罩扇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤怕磨,失蹤者是張志新(化名)和其女友劉穎喂饥,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肠鲫,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡员帮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了导饲。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捞高。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖渣锦,靈堂內(nèi)的尸體忽然破棺而出硝岗,到底是詐尸還是另有隱情,我是刑警寧澤泡挺,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布辈讶,位于F島的核電站,受9級特大地震影響娄猫,放射性物質(zhì)發(fā)生泄漏贱除。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一媳溺、第九天 我趴在偏房一處隱蔽的房頂上張望月幌。 院中可真熱鬧,春花似錦悬蔽、人聲如沸扯躺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽录语。三九已至,卻和暖如春禾乘,著一層夾襖步出監(jiān)牢的瞬間澎埠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工始藕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蒲稳,地道東北人氮趋。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像江耀,于是被迫代替她去往敵國和親剩胁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 他本是魏國皇太子祥国,而她是他的妹妹昵观,魏國的公主。 哪一年系宫,敵國入侵索昂。 “快從密道離開,母后為你們擋住敵軍扩借〗凡遥” “開始...
    無觴先生閱讀 542評論 0 0
  • MBA可以學(xué)到哪些知識? 一潮罪、工商管理相關(guān)的專業(yè)知識 MBA教育是一次非常全面和系統(tǒng)的工商管理學(xué)習(xí)康谆。對于學(xué)習(xí)者來說...
    不愛喝綠茶閱讀 102評論 0 0
  • 【書名】:《我的第一本思維導(dǎo)圖入門書》 【作者】:胡雅茹 【篇目】:第一章—第二章(P1-P74) 001、思維導(dǎo)...
    大頭的故事閱讀 597評論 5 2
  • 父母在我眼中嫉到,一直是不胖不瘦沃暗、不高不矮的人。春節(jié)回老家何恶,給父母親買衣服孽锥,售貨員問,老人腰圍多大细层?不清楚惜辑。年齡多大...
    二呆貓閱讀 605評論 0 1