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

教你怎么用Python操作MySql數(shù)據(jù)庫

 更新時(shí)間:2021年05月31日 16:39:16   作者:ProChick  
很多小伙伴都在問我能不能出一篇怎么用Python操作MySql數(shù)據(jù)庫的教程,今天特地整理了本篇文章,文中有非常詳細(xì)的圖文示例,需要的朋友可以參考下

一、關(guān)于Python操作數(shù)據(jù)庫的概述

Python所有的數(shù)據(jù)庫接口程序都在一定程度上遵守 Python DB-API 規(guī)范。

DB-API定義了一系列必須的對(duì)象和數(shù)據(jù)庫存取方式,以便為各種底層數(shù)據(jù)庫系統(tǒng)和多種多樣的數(shù)據(jù)庫接口程序提供一致的訪問接口。由于DB-API 為不同的數(shù)據(jù)庫提供了一致的訪問接口, 在不同的數(shù)據(jù)庫之間移植代碼成為一件輕松的事情。

在Python中如果要連接數(shù)據(jù)庫,不管是MySQL、SQL Server、PostgreSQL亦或是SQLite,使用時(shí)都是采用游標(biāo)的方式。

二、一般操作流程

在這里插入圖片描述

三、安裝mysql的操作庫

$ pip3 install PyMySQL

四、基本操作

創(chuàng)建連接

import pymysql

# 創(chuàng)建連接方式1
db = pymysql.connect(host='localhost', 
                     user='root', password='root', db='test', port=3306)
# 創(chuàng)建連接方式2
db = pymysql.connect(dsn='localhost:test', user='root', password='root')

close()

關(guān)閉此connect對(duì)象, 關(guān)閉后無法再進(jìn)行操作,除非再次創(chuàng)建連接。

cursor()

創(chuàng)建游標(biāo)對(duì)象。一個(gè)游標(biāo)允許用戶執(zhí)行數(shù)據(jù)庫命令和得到查詢結(jié)果。一個(gè) Python DB-API 游標(biāo)對(duì)象總是扮演游標(biāo)的角色, 無論數(shù)據(jù)庫是否真正支持游標(biāo)。也就說,數(shù)據(jù)庫接口程序必須實(shí)現(xiàn)游標(biāo)對(duì)象。創(chuàng)建游標(biāo)對(duì)象之后, 你就可以執(zhí)行查詢或其它命令(或者多個(gè)查詢和多個(gè)命令), 也可以從結(jié)果集中取出一條或多條記錄。

commit()

提交當(dāng)前事務(wù),執(zhí)行游標(biāo)對(duì)象的所有更新操作。

rollback()

取消當(dāng)前事務(wù),回滾當(dāng)前游標(biāo)的所有操作。

游標(biāo)操作

cursor = db.cursor()
  • close():關(guān)閉此游標(biāo)對(duì)象
  • fetchone():得到結(jié)果集的下一行
  • fetchall():得到結(jié)果集中剩下的所有行
  • excute(sql[, args]):執(zhí)行一個(gè)數(shù)據(jù)庫查詢或命令
  • callproc(func[,args]): 調(diào)用一個(gè)存儲(chǔ)過程

查詢操作

import pymysql

db = pymysql.connect(host='localhost', user='root', password='root', db='test')

cursor = db.cursor()
sql = '''select * from t_account'''
try:
    cursor.execute(sql)
    # 方式1讀取結(jié)果集
    rows = cursor.fetchall()
    for row in rows:
        print(row)    
    # 方式2讀取結(jié)果集
    for i in range(cursor.rowcount):
        result = cursor.fetchone()
        print(result)
except Exception as e:
    raise e
finally:
    cursor.close()

db.close()

添加操作

import pymysql

db = pymysql.connect(host='localhost', user='root', password='root', db='test')

cursor = db.cursor()
sql = '''insert into t_account values(default,'zhangsan','z',100,'張三')'''
try:
    print(cursor.execute(sql))
    db.commit()
except:
    db.rollback()
finally:
    cursor.close()

db.close()

修改操作

import pymysql

db = pymysql.connect(host='localhost', user='root', password='root', db='test')

cursor = db.cursor()
sql = '''update t_account set realname = '李四' where id = '5' '''
try:
    print(cursor.execute(sql))
    db.commit()
except:
    db.rollback()
finally:
    cursor.close()

db.close()

刪除操作

import pymysql

db = pymysql.connect(host='localhost', user='root', password='root', db='test')

cursor = db.cursor()
sql = '''delete from t_account where id = '5' '''
try:
    print(cursor.execute(sql))
    db.commit()
except:
    db.rollback()
finally:
    cursor.close()

db.close()

調(diào)用存儲(chǔ)過程

cursor.callproc("存儲(chǔ)過程名稱")
for result in cursor.fetchall():
    print(result)

到此這篇關(guān)于教你怎么用Python操作MySql數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)Python操作MySql內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python簡單幾步畫個(gè)鉆石戒指

    Python簡單幾步畫個(gè)鉆石戒指

    這篇文章主要介紹了Python簡單幾步畫個(gè)鉆石戒指,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-09-09
  • Python3 使用pillow庫生成隨機(jī)驗(yàn)證碼

    Python3 使用pillow庫生成隨機(jī)驗(yàn)證碼

    這篇文章主要介紹了Python3 使用pillow庫生成隨機(jī)驗(yàn)證碼,需要的朋友可以參考下
    2019-08-08
  • pyqt 實(shí)現(xiàn)QlineEdit 輸入密碼顯示成圓點(diǎn)的方法

    pyqt 實(shí)現(xiàn)QlineEdit 輸入密碼顯示成圓點(diǎn)的方法

    今天小編就為大家分享一篇pyqt 實(shí)現(xiàn)QlineEdit 輸入密碼顯示成圓點(diǎn)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • python實(shí)現(xiàn)的web監(jiān)控系統(tǒng)

    python實(shí)現(xiàn)的web監(jiān)控系統(tǒng)

    這篇文章主要介紹了python實(shí)現(xiàn)的web監(jiān)控系統(tǒng),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • django的登錄注冊(cè)系統(tǒng)的示例代碼

    django的登錄注冊(cè)系統(tǒng)的示例代碼

    這篇文章主要介紹了django的登錄注冊(cè)系統(tǒng)的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • Python利用keras接口實(shí)現(xiàn)深度神經(jīng)網(wǎng)絡(luò)回歸

    Python利用keras接口實(shí)現(xiàn)深度神經(jīng)網(wǎng)絡(luò)回歸

    這篇文章主要為大家詳細(xì)介紹了基于Python語言中TensorFlow的Keras接口,實(shí)現(xiàn)深度神經(jīng)網(wǎng)絡(luò)回歸的方法。文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2023-02-02
  • python獲取本機(jī)mac地址和ip地址的方法

    python獲取本機(jī)mac地址和ip地址的方法

    這篇文章主要介紹了python獲取本機(jī)mac地址和ip地址的方法,涉及Python獲取系統(tǒng)相關(guān)信息的技巧,需要的朋友可以參考下
    2015-04-04
  • PyQt5+PyQt5Designer的安裝步驟

    PyQt5+PyQt5Designer的安裝步驟

    本文主要介紹了PyQt5+PyQt5Designer的安裝步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Python如何快速生成本項(xiàng)目的requeirments.txt實(shí)現(xiàn)

    Python如何快速生成本項(xiàng)目的requeirments.txt實(shí)現(xiàn)

    本文主要介紹了Python如何快速生成本項(xiàng)目的requeirments.txt實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python optparse模塊及簡單使用

    Python optparse模塊及簡單使用

    optparse,是一個(gè)更夠讓程序設(shè)計(jì)人員輕松設(shè)計(jì)出簡單明了、易于使用、符合標(biāo)準(zhǔn)的Unix命令例程式的Python模塊,生成使用和幫助信息,這篇文章主要介紹了Python optparse模塊簡單使用,需要的朋友可以參考下
    2022-12-12

最新評(píng)論

元氏县| 新平| 天峨县| 辽阳市| 襄垣县| 漳平市| 镶黄旗| 安阳县| 温宿县| 澄城县| 湟中县| 乐清市| 岳西县| 横峰县| 连江县| 绵阳市| 罗定市| 瑞金市| 漳浦县| 绥芬河市| 抚松县| 永年县| 高淳县| 五台县| 谢通门县| 澄迈县| 库车县| 崇阳县| 虹口区| 道真| 韶山市| 仁化县| 门头沟区| 宁武县| 曲水县| 台中县| 周口市| 贺州市| 神农架林区| 卢湾区| 仪征市|