最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Python如何利用pymysql封裝項(xiàng)目通用的連接和查詢

 更新時(shí)間:2022年07月22日 16:13:41   作者:館主阿牛  
一個(gè)項(xiàng)目通常都需要有數(shù)據(jù)庫,本文就來為大家詳細(xì)講講Python如何利用pymysql簡單分裝一個(gè)通用的連接,關(guān)閉和查詢,需要的可以參考一下

前言

一個(gè)項(xiàng)目通常都需要有數(shù)據(jù)庫,而對(duì)于python這門語言,除了一些框架自帶orm或者擴(kuò)展的orm(像django自帶orm,flask則需要擴(kuò)展的orm),使用orm必然有他的好處,但毫無疑問你要花時(shí)間學(xué)習(xí)這個(gè)orm,那么接下來阿牛帶你們用pymysql簡單分裝一個(gè)通用的連接,關(guān)閉和查詢!

pymysql 介紹與安裝

PyMySQL 是在 Python3.x 版本中用于連接 MySQL 服務(wù)器的一個(gè)庫,Python2中則使用mysqldb。

在終端使用以下指令安裝:

pip3 install PyMySQL

pymysql 的使用

import  pymysql

# 打開數(shù)據(jù)庫連接,password為你的數(shù)據(jù)庫密碼,db是數(shù)據(jù)庫名
db = pymysql.connect(host="127.0.0.1",
                     user="root",
                     password=" ",
                     db=" ",
                     charset="utf8")

# 使用 cursor() 方法創(chuàng)建一個(gè)游標(biāo)對(duì)象
cursor = db.cursor()

# 使用 execute()  方法執(zhí)行 SQL 查詢 
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法獲取單條數(shù)據(jù).
data = cursor.fetchone()

print("Database version : %s " % data)

#關(guān)閉數(shù)據(jù)庫連接
db.close()

password為你的數(shù)據(jù)庫密碼,db是數(shù)據(jù)庫名,操作前請(qǐng)先建立好你的mysql數(shù)據(jù)庫。

如圖,我連接成功并且獲取到了我數(shù)據(jù)庫的版本!

方法execute執(zhí)行我們的sql語句。

在獲取執(zhí)行的結(jié)果時(shí),可以指定獲取的結(jié)果的條數(shù),可以使用的選項(xiàng)如下:

fetchone()         # 取得檢索結(jié)果的一條數(shù)據(jù)

fetchmany(n)       # 取得檢索結(jié)果的n條數(shù)據(jù)

fetchall()         # 取得檢索結(jié)果的所有數(shù)據(jù)

需要注意的是,與讀取文件時(shí)的指針類似,如果在同一段代碼中,先使用fetchone()獲取檢索結(jié)果的第一條數(shù)據(jù),然后再使用fetchmany(2)的話,指針會(huì)在檢索結(jié)果的當(dāng)前位置向后讀取執(zhí)行結(jié)果,而不會(huì)從頭開始重新讀取檢索的結(jié)果。

獲取到的結(jié)果是元組。,如下圖:

封裝項(xiàng)目通用的連接和查詢

請(qǐng)自行寫入密碼和數(shù)據(jù)庫

import pymysql

# 創(chuàng)建連接
#return: 連接,游標(biāo)
def get_conn():

    # 創(chuàng)建連接
    conn = pymysql.connect(host="127.0.0.1",
                           user="root",
                           password="",
                           db="",
                           charset="utf8")
    # 創(chuàng)建游標(biāo)
    cursor = conn.cursor()# 執(zhí)行完畢返回的結(jié)果集默認(rèn)以元組顯示
    return conn, cursor


# 關(guān)閉游標(biāo),連接
def close_conn(conn, cursor):
    cursor.close()
    conn.close()


def query(sql,*args):
    """
    封裝通用查詢
    :param sql:
    :param args:
    :return: 返回查詢到的結(jié)果,((),(),)的形式
    """
    conn, cursor = get_conn()
    cursor.execute(sql,args)
    res = cursor.fetchall()
    close_conn(conn, cursor)
    return res

因此,我們?cè)诓樵儠r(shí)只需要調(diào)用query()函數(shù)就行,*args可以讓其傳入任意個(gè)參數(shù)或者不傳參數(shù),只需要sql語句中的占位符和參數(shù)個(gè)數(shù)對(duì)應(yīng)就可以!

使用如下圖所示

結(jié)語

只要你的sql過關(guān),pymsql也可以幫助你完成項(xiàng)目!不一定需要使用orm哦!

以上就是詳解Python如何利用pymysql封裝項(xiàng)目通用的連接和查詢的詳細(xì)內(nèi)容,更多關(guān)于Python pymysql封裝連接 查詢的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

盘山县| 三门峡市| 锦屏县| 白朗县| 张家川| 平武县| 蓬莱市| 新平| 佛山市| 金昌市| 灵台县| 海南省| 绍兴市| 壶关县| 孟津县| 景东| 锡林郭勒盟| 巴里| 紫云| 株洲市| 三明市| 新河县| 丹江口市| 施甸县| 新郑市| 贡觉县| 葫芦岛市| 洪泽县| 巴彦淖尔市| 黑山县| 陆河县| 葫芦岛市| 济南市| 阿尔山市| 久治县| 东莞市| 东源县| 永清县| 漠河县| 徐州市| 元阳县|