亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

在Python中如果要連接數(shù)據(jù)庫,不管是MySQL、SQL Server、PostgreSQL亦或是SQLite,使用時都是采用游標(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對象, 關(guān)閉后無法再進(jìn)行操作,除非再次創(chuàng)建連接。

cursor()

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

commit()

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

rollback()

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

游標(biāo)操作

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

查詢操作

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)用存儲過程

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

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

相關(guān)文章

  • Python異步編程入門教程指南

    Python異步編程入門教程指南

    Python作為一門流行的編程語言,提供了強大的異步編程支持,本文將深入探討Python異步編程的基礎(chǔ)概念、常用庫以及實際應(yīng)用,通過豐富的示例代碼,助你更全面地理解和應(yīng)用異步編程
    2024-01-01
  • Python導(dǎo)入Excel數(shù)據(jù)表的幾種實現(xiàn)方式

    Python導(dǎo)入Excel數(shù)據(jù)表的幾種實現(xiàn)方式

    在Python中可以使用許多庫來處理Excel文件,下面這篇文章主要給大家介紹了關(guān)于Python導(dǎo)入Excel數(shù)據(jù)表的幾種實現(xiàn)方式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • python中xrange用法分析

    python中xrange用法分析

    這篇文章主要介紹了python中xrange用法,實例分析了xrange的功能、作用以及與range在使用中的區(qū)別,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • Python標(biāo)準(zhǔn)庫使用OrderedDict類的實例講解

    Python標(biāo)準(zhǔn)庫使用OrderedDict類的實例講解

    今天小編就為大家分享一篇關(guān)于Python標(biāo)準(zhǔn)庫使用OrderedDict類的實例講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • 使用opencv中匹配點對的坐標(biāo)提取方式

    使用opencv中匹配點對的坐標(biāo)提取方式

    這篇文章主要介紹了使用opencv中匹配點對的坐標(biāo)提取方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 用Python獲取亞馬遜商品信息

    用Python獲取亞馬遜商品信息

    大家好,本篇文章主要講的是用Python獲取亞馬遜商品信息,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • python可視化分析的實現(xiàn)(matplotlib、seaborn、ggplot2)

    python可視化分析的實現(xiàn)(matplotlib、seaborn、ggplot2)

    這篇文章主要介紹了python可視化分析的實現(xiàn)(matplotlib、seaborn、ggplot2),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Python log模塊logging記錄打印用法解析

    Python log模塊logging記錄打印用法解析

    這篇文章主要介紹了Python log模塊logging記錄打印用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • Django如何實現(xiàn)內(nèi)容緩存示例詳解

    Django如何實現(xiàn)內(nèi)容緩存示例詳解

    緩存對于大家來說應(yīng)該都不陌生,下面這篇文章主要給大家介紹了關(guān)于Django如何實現(xiàn)內(nèi)容緩存的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-09-09
  • Python?dateutil庫簡化日期時間處理利器使用場景實踐

    Python?dateutil庫簡化日期時間處理利器使用場景實踐

    在Python中,處理日期和時間是常見的任務(wù)之一,dateutil庫是Python標(biāo)準(zhǔn)庫中datetime模塊的擴展,提供了許多方便的工具和函數(shù),簡化了日期和時間的操作
    2023-12-12

最新評論