詳解如何使用Python操作MySQL的各種功能
當(dāng)今互聯(lián)網(wǎng)時代,數(shù)據(jù)處理已經(jīng)成為了一個非常重要的任務(wù)。而MySQL作為一款開源的關(guān)系型數(shù)據(jù)庫,被廣泛應(yīng)用于各種場景。本篇博客將介紹如何使用Python操作MySQL的各種功能,以及一些高級用法。
連接MySQL
在Python中,我們可以使用pymysql庫來連接MySQL數(shù)據(jù)庫。
import pymysql
# 連接MySQL
conn = pymysql.connect(host='localhost', user='root', password='123456', database='test', charset='utf8')
# 獲取游標(biāo)
cursor = conn.cursor()
# 執(zhí)行SQL語句
cursor.execute('SELECT * FROM users')
# 獲取結(jié)果集
result = cursor.fetchall()
print(result)
# 關(guān)閉游標(biāo)和連接
cursor.close()
conn.close()
以上代碼中,我們首先使用pymysql庫連接了MySQL數(shù)據(jù)庫,并獲取了游標(biāo)。然后,我們執(zhí)行了一個簡單的SELECT語句,并獲取了結(jié)果集。最后,我們關(guān)閉了游標(biāo)和連接。
增刪改查
在MySQL中,我們可以使用INSERT、DELETE、UPDATE和SELECT語句來完成增刪改查操作。在Python中,我們同樣可以使用pymysql庫來執(zhí)行這些操作。
插入數(shù)據(jù)
import pymysql
# 連接MySQL
conn = pymysql.connect(host='localhost', user='root', password='123456', database='test', charset='utf8')
# 獲取游標(biāo)
cursor = conn.cursor()
# 插入數(shù)據(jù)
sql = "INSERT INTO users(username, password) VALUES (%s, %s)"
params = ('Tom', '123456')
cursor.execute(sql, params)
# 提交事務(wù)
conn.commit()
# 關(guān)閉游標(biāo)和連接
cursor.close()
conn.close()
以上代碼中,我們使用INSERT語句向users表中插入了一條數(shù)據(jù)。在執(zhí)行execute方法時,我們可以使用占位符%s來表示參數(shù),然后在執(zhí)行時傳入對應(yīng)的參數(shù)。最后,我們提交了事務(wù),并關(guān)閉了游標(biāo)和連接。
刪除數(shù)據(jù)
import pymysql # 連接MySQL conn = pymysql.connect(host='localhost', user='root', password='123456', database='test', charset='utf8') # 獲取游標(biāo) cursor = conn.cursor() # 刪除數(shù)據(jù) sql = "DELETE FROM users WHERE id = %s" params = (1,) cursor.execute(sql, params) # 提交事務(wù) conn.commit() # 關(guān)閉游標(biāo)和連接 cursor.close() conn.close()
以上代碼中,我們使用DELETE語句刪除了users表中id為1的數(shù)據(jù)。在執(zhí)行execute方法時,我們同樣使用了占位符%s來表示參數(shù)。最后,我們提交了事務(wù),并關(guān)閉了游標(biāo)和連接。
更新數(shù)據(jù)
import pymysql
# 連接MySQL
conn = pymysql.connect(host='localhost', user='root', password='123456', database='test', charset='utf8')
# 獲取游標(biāo)
cursor = conn.cursor()
# 更新數(shù)據(jù)
sql = "UPDATE users SET password = %s WHERE username = %s"
params = ('654321', 'Tom')
cursor.execute(sql, params)
# 提交事務(wù)
conn.commit()
# 關(guān)閉游標(biāo)和連接
cursor.close()
conn.close()
以上代碼中,我們使用UPDATE語句更新了users表中username為Tom的數(shù)據(jù)的密碼。在執(zhí)行execute方法時,我們同樣使用了占位符%s來表示參數(shù)。最后,我們提交了事務(wù),并關(guān)閉了游標(biāo)和連接。
查詢數(shù)據(jù)
import pymysql
# 連接MySQL
conn = pymysql.connect(host='localhost', user='root', password='123456', database='test', charset='utf8')
# 獲取游標(biāo)
cursor = conn.cursor()
# 查詢數(shù)據(jù)
sql = "SELECT * FROM users WHERE username = %s"
params = ('Tom',)
cursor.execute(sql, params)
# 獲取結(jié)果集
result = cursor.fetchall()
print(result)
# 關(guān)閉游標(biāo)和連接
cursor.close()
conn.close()
以上代碼中,我們使用SELECT語句查詢了users表中username為Tom的數(shù)據(jù)。在執(zhí)行execute方法時,我們同樣使用了占位符%s來表示參數(shù)。最后,我們獲取了結(jié)果集,并關(guān)閉了游標(biāo)和連接。
批量操作
在MySQL中,我們可以使用INSERT、DELETE、UPDATE和SELECT語句來批量操作數(shù)據(jù)。在Python中,我們同樣可以使用pymysql庫來批量操作數(shù)據(jù)。
批量插入數(shù)據(jù)
import pymysql
# 連接MySQL
conn = pymysql.connect(host='localhost', user='root', password='123456', database='test', charset='utf8')
# 獲取游標(biāo)
cursor = conn.cursor()
# 批量插入數(shù)據(jù)
sql = "INSERT INTO users(username, password) VALUES (%s, %s)"
params = [('Tom', '123456'), ('Jerry', '654321'), ('Alice', '111111')]
cursor.executemany(sql, params)
# 提交事務(wù)
conn.commit()
# 關(guān)閉游標(biāo)和連接
cursor.close()
conn.close()
以上代碼中,我們使用executemany方法批量插入了多條數(shù)據(jù)。在執(zhí)行executemany方法時,我們使用了一個元組列表來表示多個參數(shù)。最后,我們提交了事務(wù),并關(guān)閉了游標(biāo)和連接。
批量刪除數(shù)據(jù)
import pymysql # 連接MySQL conn = pymysql.connect(host='localhost', user='root', password='123456', database='test', charset='utf8') # 獲取游標(biāo) cursor = conn.cursor() # 批量刪除數(shù)據(jù) sql = "DELETE FROM users WHERE id = %s" params = [(1,), (2,), (3,)] cursor.executemany(sql, params) # 提交事務(wù) conn.commit() # 關(guān)閉游標(biāo)和連接 cursor.close() conn.close()
以上代碼中,我們使用executemany方法批量刪除了多條數(shù)據(jù)。在執(zhí)行executemany方法時,我們同樣使用了一個元組列表來表示多個參數(shù)。最后,我們提交了事務(wù),并關(guān)閉了游標(biāo)和連接。
批量更新數(shù)據(jù)
import pymysql
# 連接MySQL
conn = pymysql.connect(host='localhost', user='root', password='123456', database='test', charset='utf8')
# 獲取游標(biāo)
cursor = conn.cursor()
# 批量更新數(shù)據(jù)
sql = "UPDATE users SET password = %s WHERE username = %s"
params = [('123456', 'Tom'), ('654321', 'Jerry'), ('111111', 'Alice')]
cursor.executemany(sql, params)
# 提交事務(wù)
conn.commit()
# 關(guān)閉游標(biāo)和連接
cursor.close()
conn.close()到此這篇關(guān)于詳解如何使用Python操作MySQL的各種功能的文章就介紹到這了,更多相關(guān)Python操作MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python根據(jù)json數(shù)據(jù)畫疫情分布地圖的詳細(xì)代碼
這篇文章主要介紹了python根據(jù)json數(shù)據(jù)畫疫情分布地圖的詳細(xì)代碼,掌握使用pyecharts構(gòu)建基礎(chǔ)的全國地圖可視化圖表,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12
Python中的異常處理相關(guān)語句基礎(chǔ)學(xué)習(xí)筆記
這里我們簡單整理一下Python中的異常處理相關(guān)語句基礎(chǔ)學(xué)習(xí)筆記,包括try...except與assert等基本語句的用法講解:2016-07-07
beam search及pytorch的實現(xiàn)方式
這篇文章主要介紹了beam search及pytorch的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05

