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

Python使用PyMySql增刪改查Mysql數(shù)據(jù)庫的實現(xiàn)

 更新時間:2024年01月02日 15:36:15   作者:愛寫代碼的小朋友  
PyMysql是Python中用于連接MySQL數(shù)據(jù)庫的一個第三方庫,本文主要介紹了Python使用PyMySql增刪改查Mysql數(shù)據(jù)庫的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下

PyMysql簡介

PyMysql是Python中用于連接MySQL數(shù)據(jù)庫的一個第三方庫,它實現(xiàn)了MySQL客戶端/服務(wù)器協(xié)議,使得Python程序能夠與MySQL服務(wù)器進(jìn)行交互。由于Python2的mysql-python(又稱mysqldb)模塊在Python 3上支持不夠完善,因此pymysql成為了在Python3.x環(huán)境中一個流行的替代方案。

PyMysql的主要特點和功能:

  • 兼容性:pymysql與Python 3完全兼容,并且可以在Python
    2.7及更高版本上運行,為跨Python版本的應(yīng)用提供統(tǒng)一的MySQL數(shù)據(jù)庫操作接口。
  • API設(shè)計:提供了類似DB-API 2.0規(guī)范的接口,使得開發(fā)者可以使用熟悉的執(zhí)行SQL語句、獲取結(jié)果集等方法。
  • 安全連接:支持安全的SSL加密連接到MySQL服務(wù)器。
  • 事務(wù)處理:通過commit()和rollback()方法支持事務(wù)控制。
  • 參數(shù)化查詢:允許使用占位符(%s)進(jìn)行參數(shù)化SQL查詢,有效防止SQL注入攻擊。
  • 多結(jié)果集:對于支持多結(jié)果集的MySQL命令,如存儲過程,pymysql也能夠正確處理。

基本用法步驟:

  • 安裝pymysql(通常使用pip install pymysql)
  • 創(chuàng)建數(shù)據(jù)庫連接
  • 創(chuàng)建游標(biāo)對象并執(zhí)行SQL語句
  • 處理查詢結(jié)果
  • 提交或回滾事務(wù)
  • 關(guān)閉游標(biāo)和數(shù)據(jù)庫連接

以下使用PyMysql增刪改查Mysql數(shù)據(jù)庫

創(chuàng)建數(shù)據(jù)庫

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) NOT NULL,
  `email` varchar(100) NOT NULL,
  `password` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

連接MySql數(shù)據(jù)庫

import pymysql

# 連接MySQL數(shù)據(jù)庫
db = pymysql.connect("localhost", "your_username", "your_password", "your_database")

# 創(chuàng)建一個游標(biāo)對象cursor
cursor = db.cursor()

查詢數(shù)據(jù)(SELECT)

import pymysql

# 連接MySQL數(shù)據(jù)庫
db = pymysql.connect("localhost", "your_username", "your_password", "your_database")
# 創(chuàng)建一個游標(biāo)對象cursor
cursor = db.cursor()
try:
    sql = "SELECT * FROM users WHERE username = %s"
    val = ("test_user",)
    cursor.execute(sql, val)
    results = cursor.fetchall()
    for row in results:
        print(f"ID: {row[0]}, Username: {row[1]}, Email: {row[2]}, Password: {row[3]}")
except Exception as e:
    print(f"查詢數(shù)據(jù)失敗: {e}")

插入數(shù)據(jù)(INSERT)

import pymysql

# 連接MySQL數(shù)據(jù)庫
db = pymysql.connect("localhost", "your_username", "your_password", "your_database")

# 創(chuàng)建一個游標(biāo)對象cursor
cursor = db.cursor()
# 插入數(shù)據(jù)(INSERT)
try:
    sql = "INSERT INTO users (username, email, password) VALUES (%s, %s, %s)"
    val = ("test_user", "test@example.com", "test_password")
    cursor.execute(sql, val)
    db.commit()
    print("插入數(shù)據(jù)成功")
except Exception as e:
    db.rollback()  # 發(fā)生錯誤時回滾
    print(f"插入數(shù)據(jù)失敗: {e}")

更新數(shù)據(jù)(UPDATE)

import pymysql

# 連接MySQL數(shù)據(jù)庫
db = pymysql.connect("localhost", "your_username", "your_password", "your_database")

# 創(chuàng)建一個游標(biāo)對象cursor
cursor = db.cursor()
try:
    sql = "UPDATE users SET email = %s WHERE username = %s"
    val = ("new_email@example.com", "test_user")
    cursor.execute(sql, val)
    db.commit()
    print("更新數(shù)據(jù)成功")
except Exception as e:
    db.rollback()
    print(f"更新數(shù)據(jù)失敗: {e}")

刪除數(shù)據(jù)(DELETE)

import pymysql

# 連接MySQL數(shù)據(jù)庫
db = pymysql.connect("localhost", "your_username", "your_password", "your_database")

# 創(chuàng)建一個游標(biāo)對象cursor
cursor = db.cursor()
try:
    sql = "DELETE FROM users WHERE username = %s"
    val = ("test_user",)
    cursor.execute(sql, val)
    db.commit()
    print("刪除數(shù)據(jù)成功")
except Exception as e:
    db.rollback()
    print(f"刪除數(shù)據(jù)失敗: {e}")

關(guān)閉連接

cursor.close()
db.close()

請確保將上述代碼中的"your_username", “your_password”, "your_database"替換為你的實際數(shù)據(jù)庫用戶名、密碼和數(shù)據(jù)庫名。

到此這篇關(guān)于Python使用PyMySql增刪改查Mysql數(shù)據(jù)庫的實現(xiàn)的文章就介紹到這了,更多相關(guān)PyMySql增刪改查Mysql內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python實現(xiàn)將m3u8視頻轉(zhuǎn)換成mp4的操作步驟

    python實現(xiàn)將m3u8視頻轉(zhuǎn)換成mp4的操作步驟

    m3u8 是一種基于文本的媒體播放列表文件格式,通常用于指定流媒體播放器播放在線媒體流,MP4是一種基于MPEG-4 Part 12(2015)和MPEG-4 Part 14標(biāo)準(zhǔn)的數(shù)字多媒體容器格式,本文將給大家介紹python實現(xiàn)將m3u8視頻轉(zhuǎn)換成mp4的操作步驟,需要的朋友可以參考下
    2024-05-05
  • Django調(diào)用百度AI接口實現(xiàn)人臉注冊登錄代碼實例

    Django調(diào)用百度AI接口實現(xiàn)人臉注冊登錄代碼實例

    這篇文章主要介紹了Django調(diào)用百度AI接口實現(xiàn)人臉注冊登錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • python的mysqldb安裝步驟詳解

    python的mysqldb安裝步驟詳解

    這篇文章主要介紹了python的mysqldb安裝步驟詳解的相關(guān)資料,這里提供實現(xiàn)的具體步驟,需要的朋友可以參考下
    2017-08-08
  • Python自動化之UnitTest框架實戰(zhàn)記錄

    Python自動化之UnitTest框架實戰(zhàn)記錄

    這篇文章主要給大家介紹了關(guān)于Python自動化之UnitTest框架實戰(zhàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python實現(xiàn)TOTP動態(tài)驗證碼和二維碼生成的示例代碼

    Python實現(xiàn)TOTP動態(tài)驗證碼和二維碼生成的示例代碼

    在現(xiàn)代安全場景中,TOTP是一種廣泛使用的雙因素認(rèn)證(2FA)機(jī)制,本文將介紹如何使用 Python 的 pyotp 和 qrcode 庫來實現(xiàn)動態(tài)驗證碼的生成、驗證以及二維碼的創(chuàng)建,希望對大家有所幫助
    2026-03-03
  • python字典中items()函數(shù)用法實例

    python字典中items()函數(shù)用法實例

    Python字典items()函數(shù)作用以列表返回可遍歷的(鍵, 值)元組數(shù)組,下面這篇文章主要給大家介紹了關(guān)于python字典中items()函數(shù)用法的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • python將多個py文件和其他文件打包為exe可執(zhí)行文件

    python將多個py文件和其他文件打包為exe可執(zhí)行文件

    這篇文章主要介紹了python將多個py文件和其他文件打包為exe可執(zhí)行文件,通過準(zhǔn)備要打包的工程文件展開詳情,需要的小伙伴可以參考一下
    2022-05-05
  • 使用豆瓣提供的國內(nèi)pypi源

    使用豆瓣提供的國內(nèi)pypi源

    PyPI(Python Package Index)是python官方的第三方庫的倉庫,所有人都可以下載第三方庫或上傳自己開發(fā)的庫到PyPI。PyPI推薦使用pip包管理器來下載第三方庫。
    2017-07-07
  • 調(diào)整Jupyter notebook的啟動目錄操作

    調(diào)整Jupyter notebook的啟動目錄操作

    這篇文章主要介紹了調(diào)整Jupyter notebook的啟動目錄操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python控制Firefox方法總結(jié)

    Python控制Firefox方法總結(jié)

    在本文里我們給大家分享了關(guān)于如何用Python控制Firefox的知識點總結(jié),有此需要的朋友們可以參閱下。
    2019-06-06

最新評論

海淀区| 伊宁市| 乌鲁木齐市| 玛多县| 京山县| 四川省| 广平县| 福建省| 巴南区| 汉源县| 泸定县| 北流市| 田林县| 汨罗市| 阳新县| 唐河县| 莲花县| 上蔡县| 丹东市| 新竹市| 自治县| 石门县| 永定县| 容城县| 永川市| 瑞金市| 本溪市| 临夏市| 凭祥市| 静安区| 金塔县| 河西区| 崇仁县| 巴彦县| 简阳市| 乌审旗| 平果县| 裕民县| 南平市| 屏东县| 衡阳市|