Python(pymysql包)操作MySQL【增刪改查】

下載pymysql:

pip install pymysql

在MySQL中創建數據庫:unicom

create database unicom DEFAULT CHARSET utf8 COLLATE utf8_general_ci;use unicom;

在unicom中創建數據表:admin

create table admin(id int not null primary key auto_increment,username varchar(16) not null,password varchar(64) not null,mobile char(11) not null
);

?1.插入數據

import pymysql# 1.連接MySQL
conn = pymysql.connect(host="127.0.0.1", port=3306, user='root', passwd="123456", charset='utf8', db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 2.發送指令
cursor.execute("insert into admin(username,password,mobile) values('doufuru','DFL123456','1888888888')")
conn.commit()# 3.關閉
cursor.close()
conn.close()

記得端口號、用戶名、用戶密碼要寫對

python中運行成功后,在mysql中查詢表中的數據:插入成功

發送指令的代碼,還有下面兩種方式(最好嚴格按照下面方式之一進行拼接,即cursor.execute自帶的參數方法):

# 2.發送指令
sql = "insert into admin(username,password,mobile) values(%s,%s,%s)"
cursor.execute(sql,["貫一", "G123456", "1766666666"])
conn.commit()
# 2.發送指令
sql = "insert into admin(username,password,mobile) values( %(n1)s, %(n2)s, %(n3)s)"
cursor.execute(sql, {"n1": "蘭亭", "n2": "L123456", "n3": "1597777777"})
conn.commit()

結果:

2.查詢數據

import pymysql# 1.連接MySQL
conn = pymysql.connect(host="127.0.0.1", port=3306, user='root', passwd="123456", charset='utf8', db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 2.發送指令
cursor.execute("select * from admin where id > %s", [2, ])data_list = cursor.fetchall()
for row_dict in data_list:print(row_dict)conn.commit()# 3.關閉
cursor.close()
conn.close()

有變化的是發送指令這一步

cursor.fetchall():獲取符合條件的所有數據,得到的是[字典,字典,]形式

cursor.fetchone():獲取符合條件的第一條數據,字典形式

查詢結果:

3.刪除數據

import pymysql# 1.連接MySQL
conn = pymysql.connect(host="127.0.0.1", port=3306, user='root', passwd="123456", charset='utf8', db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 2.發送指令
cursor.execute("delete from admin where id=%s", [2, ])
conn.commit()# 3.關閉
cursor.close()
conn.close()

上面指令是刪除id等于2的那一行

運行之前的表數據為:

運行之后的表數據為:

4.修改數據

import pymysql# 1.連接MySQL
conn = pymysql.connect(host="127.0.0.1", port=3306, user='root', passwd="123456", charset='utf8', db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)# 2.發送指令
cursor.execute("update admin set mobile=%s where id=%s", ["1788888888", 8, ])
conn.commit()# 3.關閉
cursor.close()
conn.close()

將id為8的mobile修改為1788888888

運行前后數據表:

切記conn.commit()一定不能忘

學習:【最新Python的web開發全家桶(django+前端+數據庫)-嗶哩嗶哩】 https://b23.tv/VtRGLgq

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

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

相關文章

日志2025.2.9

日志2025.2.9 1.增加了敵人揮砍類型 2.增加了敵人的死亡狀態 在敵人身上添加Ragdoll,死后激活布偶模式 public class EnemyRagdoll : MonoBehaviour { private Rigidbody[] rigidbodies; private Collider[] colliders; private void Awake() { rigidbodi…

HTTP無狀態的概念以及對后端服務的設計會產生的影響

HTTP無狀態(Statelessness) 是指每個HTTP請求都是獨立的,服務器不會記住或依賴于前一個請求的任何信息。每次請求的處理都與其他請求沒有直接關系。也就是說,服務器在處理請求時,不會存儲關于客戶端狀態的信息。 一、HTTP無狀態的具體含義 ①每個請求獨立:每個請求包含了…

操作系統—進程與線程

補充知識 PSW程序狀態字寄存器PC程序計數器:存放下一條指令的地址IR指令寄存器:存放當前正在執行的指令通用寄存器:存放其他一些必要信息 進程 進程:進程是進程實體的運行過程,是系統進行資源分配和調度的一個獨立單位…

python:面向對象案例烤雞翅

自助烤雞翅的需求: 1.烤雞翅的時間和對應的狀態: 0-4min :生的 4-7min:半生不熟 7-12min:熟了 12min以上:烤糊了 2.添加調料: 客戶根據自己的需求添加 定義烤雞翅的類、屬性和方法,顯示對象的信息 …

【基于SprintBoot+Mybatis+Mysql】電腦商城項目之上傳頭像和新增收貨地址

🧸安清h:個人主頁 🎥個人專欄:【Spring篇】【計算機網絡】【Mybatis篇】 🚦作者簡介:一個有趣愛睡覺的intp,期待和更多人分享自己所學知識的真誠大學生。 目錄 🚀1.上傳頭像 -持久…

Windows下ollama詳細安裝指南

文章目錄 1、Windows下ollama詳細安裝指南1.1、ollama介紹1.2、系統要求1.3、下載安裝程序1.4、安裝步驟1.5、驗證安裝1.6、環境變量配置1.7、模型選擇與安裝【deepseek 示例】1.7.1、拉取并運行模型1.7.2、進階使用技巧 1、Windows下ollama詳細安裝指南 1.1、ollama介紹 olla…

10vue3實戰-----實現登錄的基本功能

10vue3實戰-----實現登錄的基本功能 1.基本頁面的搭建2.賬號登錄的驗證規則配置3.點擊登錄按鈕4.表單的校驗5.賬號的登錄邏輯和登錄狀態保存6.定義IAccount對象類型 1.基本頁面的搭建 大概需要搭建成這樣子的頁面: 具體的搭建界面就不多講。各個項目都有自己的登錄界面&#…

RestTemplate Https 證書訪問錯誤

錯誤信息 resttemplate I/O error on GET request for “https://21.24.6.6:9443/authn-api/v5/oauth/token”: java.security.cert.CertificateException: No subject alternative names present; nested exception is javax.net.ssl.SSLHandshakeException: java.security.c…

講人話的理解ai學習原理

通過把各種東西打上分數標簽存起來。ai不花算力是不可能的,需要巨大的算力,需要要大量gpu芯片,如果大大降低成本,就需要蒸餾別人成果,把這些參數偷偷弄過來。 比如”貓睡在石頭上感覺很涼快,很舒服&#x…

【雜談】-文明的量子躍遷:AI時代人類物種的自我重構

文章目錄 文明的量子躍遷:AI時代人類物種的自我重構一、文明基因的雙螺旋進化二、意識矩陣的拓撲重構三、倫理穹頂下的共生協議 文明的量子躍遷:AI時代人類物種的自我重構 在撒哈拉沙漠的巖壁上,史前人類用赭石顏料繪制出羚羊與獵人的身影&a…

vue3 點擊圖標從相冊選擇二維碼圖片,并使用jsqr解析二維碼(含crypto-js加密解密過程)

vue3 點擊圖標從相冊選擇二維碼圖片,并使用jsqr解析二維碼(含crypto-js加密解密過程) 1.安裝 jsqr 和 crypto-js npm install -d jsqr npm install crypto-js2.在util目錄下新建encryptionHelper.js文件,寫加密解密方法。 // e…

支持多種網絡數據庫格式的自動化轉換工具——VisualXML

一、VisualXML軟件介紹 對于DBC、ARXML……文件的編輯、修改等繁瑣操作,WINDHILL風丘科技開發的總線設計工具——VisualXML,可輕松解決這一問題,提升工作效率。 VisualXML是一個強大且基于Excel表格生成多種網絡數據庫文件的轉換工具&#…

【JVM詳解四】執行引擎

一、概述 Java程序運行時,JVM會加載.class字節碼文件,但是字節碼并不能直接運行在操作系統之上,而JVM中的執行引擎就是負責將字節碼轉化為對應平臺的機器碼讓CPU運行的組件。 執行引擎是JVM核心的組成部分之一。可以把JVM架構分成三部分&am…

C++ 順序表

順序表的操作有以下: 1 順序表的元素插入 給定一個索引和元素,這個位置往后的元素位置都要往后移動一次,元素插入的步驟有以下幾步 (1)判斷插入的位置是否合法,如果不合法則拋出異常 (2&…

mysql安裝starting the server報錯

win10家庭版無法啟動服務的,先不要退出,返回上一欄,然后通過電腦搜索欄輸入服務兩個字,在里面找到mysql80,右鍵屬性-登錄,登錄身份切換為本地系統就行了

萬有的函數關係速成2. 連續和導數

1.討論間斷點類型 定義: 若函數在某點不滿足連續的條件,則該點為間斷點。 第一類間斷點是左右極限都存在的間斷點,其中左右極限相等的是可去間斷點,不相等的是跳躍間斷點; 第二類間斷點是左右極限至少有一個不存在的間斷點,包括無窮間斷點(極限為無窮)和振蕩間斷點…

【專題】2025年我國機器人產業發展形勢展望:人形機器人量產及商業化關鍵挑戰報告匯總PDF洞察(附原數據表)

原文鏈接:https://tecdat.cn/?p39668 機器人已廣泛融入我們生活的方方面面。在工業領域,它們宛如不知疲倦的工匠,精準地完成打磨、焊接等精細工作,極大提升了生產效率和產品質量;在日常生活里,它們是貼心…

用docker在本地用open-webui部署網頁版deepseek

前置條件 用Ollama在本地CMD窗口運行deepseek大模型-CSDN博客文章瀏覽閱讀109次,點贊5次,收藏2次。首次運行需要下載deepseek的大模型包(大約5GB,根據本地網速的不同在半個小時到幾個小時之間下載完成) ,并…

android的DataBinding簡介

Android DataBinding 簡介 DataBinding 是 Android Jetpack 中的數據綁定庫,用于將 UI 組件直接與數據模型綁定,減少模板代碼并實現雙向數據同步。它通過聲明式布局簡化 UI 更新邏輯,常用于 MVVM(Model-View-ViewModel&#xff0…

企業如何利用DeepSeek提升網絡安全管理水平

企業可以通過深度整合DeepSeek的AI能力,構建智能化、動態化的網絡安全防御體系,以應對APT(高級持續性威脅)等復雜攻擊。以下是具體策略與實踐路徑: 1. AI驅動的威脅檢測與分析 多模態威脅狩獵 DeepSeek的深度學習技術能…