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

利用Python連接MySQL超詳細實戰(zhàn)教程

 更新時間:2026年02月07日 08:29:05   作者:盼哥PyAI實驗室  
mysql是關系型數據庫,支持大型的數據庫,可以處理擁有上千萬條記錄的大型數據庫,這篇文章主要介紹了利用Python連接MySQL的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

前言

在 Python 開發(fā)中,數據庫基本是繞不開的核心環(huán)節(jié),而 MySQL + PyMySQL 是最常見、最穩(wěn)定、最輕量的組合。
很多同學在剛開始連接數據庫時,經常會遇到連不上、編碼錯誤、游標報錯等問題。

這篇文章我會用非常清晰的方式帶你完成:

  • PyMySQL 安裝
  • 數據庫連接參數配置
  • 創(chuàng)建連接對象
  • 創(chuàng)建游標對象
  • 執(zhí)行 SQL 查詢
  • 執(zhí)行插入語句
  • 完整代碼可直接運行

內容全部來自實戰(zhàn)總結,照著敲你就能用!

一、安裝 PyMySQL

PyMySQL 是 Python 中用于連接 MySQL 的輕量級庫,安裝方式非常簡單:

pip install pymysql

安裝完成后我們就可以在項目中使用它進行數據庫操作。

二、準備數據庫連接配置

連接 MySQL 需要提供登錄信息,我們通常將參數寫成一個字典,方便管理:

import pymysql

db_confing = {
    'host': '127.0.0.1',   # 服務器地址
    'port': 3306,          # MySQL 端口
    'user': 'root',        # 用戶名
    'password': 'root',    # 密碼
    'db': 'wp',       # 需要連接的數據庫
    'charset': 'utf8',     # 字符編碼
}

? 這些參數必須真實存在,否則連接會失敗。

三、建立數據庫連接

PyMySQL 最核心的一句代碼:

數據庫對象 = pymysql.connect(**db_confing)
print(數據庫對象)

這里使用 **db_confing 是 Python 字典解包語法,等同于:

host='127.0.0.1', port=3306, user='root' ...

執(zhí)行后會得到類似:

<pymysql.connections.Connection object at 0xxx>

代表連接成功。

四、創(chuàng)建游標對象(Cursor)

游標對象用來 執(zhí)行 SQL接收查詢結果。

游標對象 = 數據庫對象.cursor()
print(游標對象)

每一次查詢、插入,都必須通過游標來完成。

五、執(zhí)行 SQL 查詢(SELECT)

下面是最常用的查詢模式:

# 創(chuàng)建游標對象
游標對象 = 數據庫對象.cursor()

# 寫 SQL 語句
sql = 'SELECT * FROM hk'

# 執(zhí)行 SQL
游標對象.execute(sql)

# 接受所有結果
返回結果 = 游標對象.fetchall()

# 打印結果
for row in 返回結果:
    print(row)

# 關閉
游標對象.close()
數據庫對象.close()

這里 fetchall() 會返回一個 元組列表,每一行數據都是一個元組。

六、封裝查詢函數(實戰(zhàn))

def select():
    sql = 'select * from demo'
    游標對象.execute(sql)
    返回結果 = 游標對象.fetchall()
    print(返回結果)

你可以在需要的地方直接調用:

select()

七、執(zhí)行插入(INSERT + commit)

插入與查詢不同,執(zhí)行后必須 commit(),否則無法真正寫入數據庫。

def insert():
    name = input('請輸入你的姓名:')
    sql = f'insert into demo value(null,"{name}")'
    游標對象.execute(sql)
    數據庫對象.commit()  # ?? 必須提交

? 注意字符串需要加引號,否則 SQL 會報錯。

下面我在你 剛剛那篇 CSDN 博客的基礎上,繼續(xù)追加兩個核心模塊:

? DELETE(刪除數據)

? UPDATE(修改數據)

格式依舊符合 CSDN 爆款文章結構,你可以直接復制回博客中,放在原文 “七、執(zhí)行插入(INSERT)” 的后面即可。

八、執(zhí)行刪除(DELETE)

刪除操作同樣需要 commit() 才能生效。

最推薦寫成一個交互式函數:輸入要刪除的 ID,然后執(zhí)行刪除。

def delete():
    delete_id = input('請輸入要刪除的ID:')
    sql = f'DELETE FROM demo WHERE id = {delete_id}'
    游標對象.execute(sql)
    數據庫對象.commit()
    print(f'ID 為 {delete_id} 的記錄已刪除')

? 注意:

  • DELETE 操作必須加 WHERE 條件
  • 否則可能會刪光整個表!

示例輸入:

請輸入要刪除的ID:3

輸出:

ID 為 3 的記錄已刪除

九、執(zhí)行修改(UPDATE)

UPDATE 同樣需要提交才能生效。

這是一個最常見的「根據 ID 修改姓名」的例子:

def update():
    update_id = input('請輸入要修改的ID:')
    new_name = input('請輸入新的姓名:')

    sql = f'UPDATE demo SET name = "{new_name}" WHERE id = {update_id}'
    游標對象.execute(sql)
    數據庫對象.commit()

    print(f'ID 為 {update_id} 的記錄已成功修改')

執(zhí)行時會有兩次輸入:

請輸入要修改的ID:2
請輸入新的姓名:王五

輸出:

ID 為 2 的記錄已成功修改

十、最終完整版(增刪改查四合一)

你可以在原文的最終代碼中加入以下內容,結構完全統(tǒng)一:

def select():
    sql = 'select * from demo'
    游標對象.execute(sql)
    返回結果 = 游標對象.fetchall()
    print(返回結果)

def insert():
    name = input('請輸入你的姓名:')
    sql = f'insert into demo value(null,"{name}")'
    游標對象.execute(sql)
    數據庫對象.commit()
    print('插入成功')

def delete():
    delete_id = input('請輸入要刪除的ID:')
    sql = f'DELETE FROM demo WHERE id = {delete_id}'
    游標對象.execute(sql)
    數據庫對象.commit()
    print(f'ID 為 {delete_id} 的記錄已刪除')

def update():
    update_id = input('請輸入要修改的ID:')
    new_name = input('請輸入新的姓名:')
    sql = f'UPDATE demo SET name = "{new_name}" WHERE id = {update_id}'
    游標對象.execute(sql)
    數據庫對象.commit()
    print(f'ID 為 {update_id} 的記錄已成功修改')

總結:增刪改查你已經全會了!

至此為止,你已經擁有:

  • ? SELECT 查詢
  • ? INSERT 插入
  • ? DELETE 刪除
  • ? UPDATE 修改
  • ? commit 提交機制
  • ? 游標對象生命周期
  • ? 完整數據庫交互代碼

到此這篇關于利用Python連接MySQL的文章就介紹到這了,更多相關Python連接MySQL內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • tensorflow常用函數API介紹

    tensorflow常用函數API介紹

    這篇文章主要介紹了tensorflow常用函數API介紹,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • Python數據庫的連接實現方法與注意事項

    Python數據庫的連接實現方法與注意事項

    這篇文章主要介紹了Python數據庫的連接實現方法與注意事項,需要的朋友可以參考下
    2016-02-02
  • Python實現partial改變方法默認參數

    Python實現partial改變方法默認參數

    這篇文章主要介紹了Python實現partial改變方法默認參數,需要的朋友可以參考下
    2014-08-08
  • Python正則抓取網易新聞的方法示例

    Python正則抓取網易新聞的方法示例

    這篇文章主要介紹了Python正則抓取網易新聞的方法,結合實例形式較為詳細的分析了Python使用正則進行網易新聞抓取操作的相關實現技巧與注意事項,需要的朋友可以參考下
    2017-04-04
  • Python獲取PDF文檔的各種頁面信息

    Python獲取PDF文檔的各種頁面信息

    了解PDF頁面信息對于有效處理、編輯和管理PDF文件至關重要,PDF文件通常包含多個頁面,每個頁面可能有不同的尺寸、方向、旋轉角度以及其他屬性,這篇文章將介紹如何使用Python獲取PDF文檔的各種頁面信息,需要的朋友可以參考下
    2025-02-02
  • Python輕松實現提取視頻音頻并去除靜音片段

    Python輕松實現提取視頻音頻并去除靜音片段

    在處理視頻素材時,我們常常需要提取其中的音頻,并且希望去除冗長的靜音部分,借助Python的幾個優(yōu)秀庫,我們可以快速實現這一需求,下面我們就來看看具體實現方法吧
    2025-10-10
  • python控制臺中實現進度條功能

    python控制臺中實現進度條功能

    這篇文章主要介紹了python控制臺中實現進度條功能的方法,想要了解的朋友可以參考一下
    2015-11-11
  • Pytorch BCELoss和BCEWithLogitsLoss的使用

    Pytorch BCELoss和BCEWithLogitsLoss的使用

    這篇文章主要介紹了Pytorch BCELoss和BCEWithLogitsLoss的使用詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 使用python檢查值是否已經存在于字典列表中

    使用python檢查值是否已經存在于字典列表中

    這篇文章主要介紹了使用python檢查值是否已經存在于字典列表中,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Pycharm+Python+PyQt5使用詳解

    Pycharm+Python+PyQt5使用詳解

    這篇文章主要介紹了Pycharm+Python+PyQt5使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09

最新評論

临潭县| 屯留县| 荃湾区| 揭阳市| 博乐市| 桐柏县| 泗水县| 日喀则市| 长寿区| 南澳县| 临湘市| 乌什县| 梅河口市| 临海市| 苏尼特左旗| 临西县| 汉中市| 香港| 呼和浩特市| 札达县| 石渠县| 定南县| 明星| 香港 | 石首市| 怀宁县| 武安市| 德庆县| 兴山县| 墨竹工卡县| 洪泽县| 泰安市| 福贡县| 乌拉特中旗| 宁强县| 静海县| 逊克县| 惠东县| 宣威市| 砚山县| 稷山县|