【Python快速上手(二十二)】

目錄

  • Python快速上手(二十二)
    • Python3 使用數據庫-pymysql
      • 1. 創建數據庫連接
      • 2. 創建數據表
      • 3. 插入數據
      • 4. 查詢數據
      • 5. 使用 WHERE 條件語句
      • 6. 排序
      • 7. 刪除記錄
      • 8. 更新表數據
      • 9. 刪除表
      • 10.異常處理
      • 總結

Python快速上手(二十二)

Python3 使用數據庫-pymysql

在Python中,我們可以使用pymysql庫來連接MySQL數據庫并進行各種操作。pymysql是一個純Python實現的MySQL客戶端庫,可以讓我們在Python中輕松地與MySQL數據庫進行交互。在本文中,我將詳細講解如何使用pymysql庫進行數據庫操作,包括創建數據庫連接、創建數據表、插入數據、查詢數據、使用WHERE條件語句、排序、刪除記錄、更新表數據以及刪除表。

1. 創建數據庫連接

首先,我們需要通過pymysql庫來創建與MySQL數據庫的連接。以下是連接數據庫的示例代碼:

import pymysql
# 創建數據庫連接
conn = pymysql.connect(host='localhost',user='root',password='password',database='mydatabase'
)# 創建游標對象
cursor = conn.cursor()

在這段代碼中,我們使用pymysql.connect()方法來創建數據庫連接,并傳入主機名、用戶名、密碼和數據庫名稱。然后,我們創建了一個游標對象cursor,用于執行SQL語句。

2. 創建數據表

接下來,讓我們使用CREATE TABLE語句來創建數據表。以下是一個示例代碼:

# 創建數據表
cursor.execute("CREATE TABLE mytable (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)")

在這個示例中,我們使用execute()方法執行CREATE TABLE語句來創建一個名為mytable的數據表,包含id、name和age三個字段。

3. 插入數據

現在,讓我們向數據表中插入一些數據。以下是一個示例代碼:

# 插入數據
sql = "INSERT INTO mytable (name, age) VALUES (%s, %s)"
val = ("Alice", 25)
cursor.execute(sql, val)# 提交更改
conn.commit()

在這個示例中,我們使用INSERT INTO語句向mytable表中插入一條數據,然后使用commit()方法提交更改。

4. 查詢數據

我們可以使用SELECT語句來查詢數據。以下是一個示例代碼:

# 查詢數據
cursor.execute("SELECT * FROM mytable")
result = cursor.fetchall()for row in result:print(row)

這段代碼執行了一個簡單的SELECT * FROM mytable查詢,并打印了查詢結果。

5. 使用 WHERE 條件語句

如果我們想要根據特定條件過濾數據,可以使用WHERE條件語句。以下是一個示例代碼:

# 使用 WHERE 條件語句
sql = "SELECT * FROM mytable WHERE age > 20"
cursor.execute(sql)
result = cursor.fetchall()for row in result:print(row)

這段代碼查詢age大于20的數據,并打印結果。

6. 排序

我們也可以對查詢結果進行排序。以下是一個示例代碼:

# 排序
sql = "SELECT * FROM mytable ORDER BY age DESC"
cursor.execute(sql)
result = cursor.fetchall()for row in result:print(row)

這段代碼按照age字段降序排列查詢結果。

7. 刪除記錄

如果我們想要刪除數據表中的記錄,可以使用DELETE語句。以下是一個示例代碼:

# 刪除記錄
sql = "DELETE FROM mytable WHERE name = 'Alice'"
cursor.execute(sql)# 提交更改
conn.commit()

這段代碼刪除了name為Alice的記錄。

8. 更新表數據

如果我們需要更新數據表中的數據,可以使用UPDATE語句。以下是一個示例代碼:

# 更新表數據
sql = "UPDATE mytable SET age = 30 WHERE name = 'Alice'"
cursor.execute(sql)# 提交更改
conn.commit()

這段代碼將name為Alice的記錄的age字段更新為30。

9. 刪除表

最后,如果我們想要刪除數據表,可以使用DROP TABLE語句。以下是一個示例代碼:

# 刪除表
cursor.execute("DROP TABLE mytable")

這段代碼刪除了名為mytable的數據表。

10.異常處理

在實際應用中,我們應該添加異常處理來處理可能出現的錯誤。下面是一個使用try…except語句來處理異常的示例代碼:

import pymysqltry:conn = pymysql.connect(host='localhost', user='root', password='password', database='mydatabase')cursor = conn.cursor()cursor.execute("SELECT * FROM mytable")results = cursor.fetchall()for row in results:print(row)except pymysql.Error as e:print(f"Error: {e}")finally:cursor.close()conn.close()

在這個示例中,我們使用try…except語句來捕獲可能出現的pymysql.Error異常。如果出現異常,我們打印錯誤信息。無論是否出現異常,最后都會關閉游標和連接。

總結

在本文中,我們詳細講解了如何使用pymysql庫在Python中連接MySQL數據庫,并進行一系列操作,包括創建數據庫連接、創建數據表、插入數據、查詢數據、使用WHERE條件語句、排序、刪除記錄、更新表數據以及刪除表。通過這些操作,我們可以輕松地對MySQL數據庫進行管理和操作。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/11863.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/11863.shtml
英文地址,請注明出處:http://en.pswp.cn/web/11863.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

通過EXCEL控制PLC啟停電機的一種方法

概述 本例將介紹用微軟EXCEL電子表格控制西門子S7-1200 PLC實現電機啟停的一種方法。 第1步: 添加PLC設備,選擇西門子S7-1214C CPU,設置IP地址:192.168.18.18,子網掩碼:255.255.255.0。 第2步&#xff1a…

vue3中通過自定義指令實現loading加載效果

前言 在現代Web開發中,提升用戶體驗一直是開發者們追求的目標之一。其中,一個常見的場景就是在用戶與應用程序進行交互時,特別是當進行異步操作時(如網絡請求),為用戶提供即時的反饋,避免用戶因…

Flet初體驗:Python跨平臺開發新選擇

文章目錄 ?? 介紹 ???? 演示環境 ???? 初識Flet ???? 安裝與配置?? 構建第一個Flet應用?? Flet打包:跨平臺的魔法?? Flet與FastAPI的結合?? 總結?? 相關鏈接 ???? 介紹 ?? “探索未知,擁抱創新,Flet讓我在應用開發的世界中找到了新的航標。”…

02 | 該如何選擇消息隊列?

RabbitMQ RabbitMQ 一個比較有特色的功能是支持非常靈活的路由配置,和其他消息隊列不同的是,它在生產者(Producer)和隊列(Queue)之間增加了一個 Exchange 模塊,你可以理解為交換機。 問題 Ra…

【循環程序設計-譚浩強適配】(適合專升本、考研)

無償分享學習資料,需要的小伙伴評論區或私信dd。。。 無償分享學習資料,需要的小伙伴評論區或私信dd。。。 無償分享學習資料,需要的小伙伴評論區或私信dd。。。 完整資料如下:純干貨、純干貨、純干貨!!…

淺談電動汽車充電站的電氣安全

1 引言 1月14日日上午10點左右,青島市市北區遼寧路63號公交停車場內,一輛報廢公交車突然起火,由于大風天氣,大火很快引燃了停在旁邊的幾輛報廢車。消防人員快速趕到,迅速控制住火勢。11時30分,停車場內的…

鴻蒙內核源碼分析(ELF格式篇) | 應用程序入口并不是main

閱讀之前的說明 先說明,本篇很長,也很枯燥,若不是絕對的技術偏執狂是看不下去的.將通過一段簡單代碼去跟蹤編譯成ELF格式后的內容.看看ELF究竟長了怎樣的一副花花腸子,用readelf命令去窺視ELF的全貌,最后用objdump命令…

Image to Music V2 :只需上傳一張照片,自動轉換成與圖片內容匹配的音頻!

前言 我們之前肯定已經見過了很多文本生成圖片、文本生成聲音以及AI翻唱歌曲 等多種AI產品(模型)。 其實音樂和圖片從某種意義上來說都是藝術創作的一種形式,它們可以相互配合,共同呈現出一種更加豐富、感性的表達方式。 將圖片…

弘君資本:人形機器人概念走強,盛通股份漲停,怡合達、鼎智科技等拉升

人形機器人概念14日盤中拉升走高,到發稿,盛通股份漲停,怡合達、鼎智科技漲約6%,索辰科技、偉創電氣、豐立智能等漲超4%。 音訊面上,5月13日,宇樹發布人形智能體Unitree G1,身高127cm,體重35kg&…

[240514] OpenAI 發布 GPT-4o,人機交互的歷史性時刻 | 蘋果芯片進軍服務器劍指AI? | 谷歌大會以AI為主

目錄 OpenAI 發布 GPT-4o,人機交互的歷史時刻蘋果芯片進軍服務器,劍指生成式 AI2024年谷歌開發者大會將圍繞 AI 展開 OpenAI 發布 GPT-4o,人機交互的歷史時刻 OpenAI 發布了 GPT-4o,大家一直都想要現在終于等到的語音助手 : 勿需…

618值得入手的數碼產品怎么選?2024 買過不后悔的數碼好物分享

在數字時代的浪潮中,每一次的購物狂歡節都如同一場科技盛宴,讓我們有機會接觸到最前沿、最實用的數碼產品,而“618”無疑是這場盛宴中最為引人矚目的日子之一。面對琳瑯滿目的商品,如何選擇那些真正值得入手的數碼好物&#xff0c…

易寶OA-ExecuteQueryForDataSetBinary處sql注入

免責聲明: 本文內容為學習筆記分享,僅供技術學習參考,請勿用作違法用途,任何個人和組織利用此文所提供的信息而造成的直接或間接后果和損失,均由使用者本人負責,與作者無關!!&#…

Centos 安裝jenkins 多分支流水線部署前后端項目

1、安裝jenkins 1.1 安裝jdk 要求:11及以上版本 yum install yum install java-11-openjdk 1.2 安裝jenkins 導入鏡像 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo出現以下錯誤 執行以下命令 sudo yum …

前端使用原生JS怎么上傳本地路徑的文件到后端【附源碼】

本文不使用<input type"file">等前端上傳組件 一、為什么不能使用本地文件路徑上傳&#xff1f; 前端不能直接根據本地文件路徑&#xff08;例如 C:\Users\Username\Documents\image.jpg&#xff09;上傳文件到后端服務器&#xff0c;原因主要在于瀏覽器的安全…

使用java遠程提交flink任務到yarn集群

使用java遠程提交flink任務到yarn集群 背景 由于業務需要&#xff0c;使用命令行的方式提交flink任務比較麻煩&#xff0c;要么將后端任務部署到大數據集群&#xff0c;要么弄一個提交機&#xff0c;感覺都不是很離線。經過一些調研&#xff0c;發現可以實現遠程的任務發布。…

LOTO示波器軟件PC緩存(波形錄制與回放)功能

當打開PC緩存功能后, 軟件將采用先進先出的原則排隊對示波器采集的每一幀數據, 進行幀緩存。 當發現屏幕中有感興趣的波形掠過時, 鼠標點擊軟件的(暫停)按鈕, 可以選擇回看某一幀的波形。一幀數據的量 是 當前用戶選擇時基檔位緩沖區總數據大小。不同時基檔位緩沖區大小不同&am…

談談std::map的lower_bound

我們知道std::map內部是一個紅黑樹&#xff0c;放到std::map里的數據等有一個能比較大小的方法。它相當于java里面的TreeMap。 它里面有個lower_bound方法&#xff0c;返回一個迭代器&#xff0c;它指向map里第一個大于等于參數的元素。 方法的簽名很簡單&#xff0c;但是在不同…

富格林:有效預防黑幕阻撓被騙

富格林指出&#xff0c;在投資領域&#xff0c;現貨黃金是一種備受推崇的貴金屬投資品種。倘若能有效預防黑幕阻撓被騙的情況&#xff0c;事實上現貨黃金是很多投資者的“理想型”。然而要想有效地預防黑幕阻撓被騙&#xff0c;就需要掌握足夠多的投資技巧。為此&#xff0c;富…

Milvus 基本概念

Milvus 是一個開源的向量數據庫&#xff0c;專門用于高效地存儲、管理和檢索大規模向量數據。它基于 Apache 許可證 2.0 版本發布&#xff0c;由 Zilliz 公司開源并維護。 Milvus 的設計理念是為了解決向量數據存儲和檢索的挑戰。在許多應用中&#xff0c;向量數據是一種重要的…

強化學習——馬爾可夫過程的理解

目錄 一、馬爾可夫過程1.隨機過程2.馬爾可夫性質3.馬爾可夫過程4.馬爾可夫過程示例 參考文獻 一、馬爾可夫過程 1.隨機過程 隨機過程是概率論的“動態”版本。普通概率論研究的是固定不變的隨機現象&#xff0c;而隨機過程則專注于那些隨時間不斷變化的情況&#xff0c;比如天…