Python處理MySQL與SQLite數(shù)據(jù)庫詳解
在數(shù)據(jù)處理和存儲方面,數(shù)據(jù)庫扮演著至關重要的角色。Python提供了多種與數(shù)據(jù)庫交互的方式,其中pymysql庫用于連接和操作MySQL數(shù)據(jù)庫,而SQLite則是一種輕量級的嵌入式數(shù)據(jù)庫,Python標準庫中的sqlite3模塊即可滿足操作需求。本文將為入門者介紹MySQL和SQLite,并分別展示如何使用Python進行增刪改查操作。
1. MySQL 簡介
MySQL是一種開源的關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),廣泛應用于各種Web應用。它支持標準的SQL語言,提供了高性能、高可靠性和可擴展性。
安裝pymysql
在Python中操作MySQL數(shù)據(jù)庫,需要先安裝pymysql庫??梢允褂胮ip進行安裝:
pip install pymysql
1.1 連接MySQL數(shù)據(jù)庫
import pymysql
# 創(chuàng)建數(shù)據(jù)庫連接
connection = pymysql.connect(
host='localhost', # 數(shù)據(jù)庫主機地址
user='your_username', # 數(shù)據(jù)庫用戶名
password='your_password', # 數(shù)據(jù)庫密碼
database='your_database' # 數(shù)據(jù)庫名稱
)
# 創(chuàng)建游標對象
cursor = connection.cursor()
1.2 增加數(shù)據(jù)(Insert)
try:
# SQL插入語句
sql = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"
val = ("value1", "value2")
# 執(zhí)行SQL語句
cursor.execute(sql, val)
# 提交事務
connection.commit()
print("插入成功")
except Exception as e:
print("插入失敗:", e)
# 回滾事務
connection.rollback()
finally:
# 關閉游標和連接
cursor.close()
connection.close()1.3 查詢數(shù)據(jù)(Select)
try:
# SQL查詢語句
sql = "SELECT * FROM your_table"
# 執(zhí)行SQL語句
cursor.execute(sql)
# 獲取所有記錄
results = cursor.fetchall()
for row in results:
print(row)
except Exception as e:
print("查詢失?。?, e)
finally:
# 關閉游標和連接
cursor.close()
connection.close()1.4 更新數(shù)據(jù)(Update)
try:
# SQL更新語句
sql = "UPDATE your_table SET column1 = %s WHERE column2 = %s"
val = ("new_value1", "value2")
# 執(zhí)行SQL語句
cursor.execute(sql, val)
# 提交事務
connection.commit()
print("更新成功")
except Exception as e:
print("更新失?。?, e)
# 回滾事務
connection.rollback()
finally:
# 關閉游標和連接
cursor.close()
connection.close()1.5 刪除數(shù)據(jù)(Delete)
try:
# SQL刪除語句
sql = "DELETE FROM your_table WHERE column1 = %s"
val = ("value1",)
# 執(zhí)行SQL語句
cursor.execute(sql, val)
# 提交事務
connection.commit()
print("刪除成功")
except Exception as e:
print("刪除失?。?, e)
# 回滾事務
connection.rollback()
finally:
# 關閉游標和連接
cursor.close()
connection.close()2. SQLite 簡介
SQLite是一種輕量級的嵌入式數(shù)據(jù)庫,它不需要單獨的服務器進程,非常適合在本地存儲數(shù)據(jù)。SQLite支持標準的SQL語法,并且Python標準庫中的sqlite3模塊可以直接操作SQLite數(shù)據(jù)庫。
2.1 連接SQLite數(shù)據(jù)庫
import sqlite3
# 創(chuàng)建數(shù)據(jù)庫連接(如果數(shù)據(jù)庫文件不存在會自動創(chuàng)建)
connection = sqlite3.connect('your_database.db')
# 創(chuàng)建游標對象
cursor = connection.cursor()
2.2 增加數(shù)據(jù)(Insert)
try:
# SQL插入語句
sql = "INSERT INTO your_table (column1, column2) VALUES (?, ?)"
val = ("value1", "value2")
# 執(zhí)行SQL語句
cursor.execute(sql, val)
# 提交事務
connection.commit()
print("插入成功")
except sqlite3.Error as e:
print("插入失?。?, e)
finally:
# 關閉游標和連接
cursor.close()
connection.close()2.3 查詢數(shù)據(jù)(Select)
try:
# SQL查詢語句
sql = "SELECT * FROM your_table"
# 執(zhí)行SQL語句
cursor.execute(sql)
# 獲取所有記錄
results = cursor.fetchall()
for row in results:
print(row)
except sqlite3.Error as e:
print("查詢失敗:", e)
finally:
# 關閉游標和連接
cursor.close()
connection.close()2.4 更新數(shù)據(jù)(Update)
try:
# SQL更新語句
sql = "UPDATE your_table SET column1 = ? WHERE column2 = ?"
val = ("new_value1", "value2")
# 執(zhí)行SQL語句
cursor.execute(sql, val)
# 提交事務
connection.commit()
print("更新成功")
except sqlite3.Error as e:
print("更新失?。?, e)
finally:
# 關閉游標和連接
cursor.close()
connection.close()2.5 刪除數(shù)據(jù)(Delete)
try:
# SQL刪除語句
sql = "DELETE FROM your_table WHERE column1 = ?"
val = ("value1",)
# 執(zhí)行SQL語句
cursor.execute(sql, val)
# 提交事務
connection.commit()
print("刪除成功")
except sqlite3.Error as e:
print("刪除失敗:", e)
finally:
# 關閉游標和連接
cursor.close()
connection.close()通過以上步驟,你可以輕松地使用Python對MySQL和SQLite數(shù)據(jù)庫進行增刪改查操作。
以上就是Python處理MySQL與SQLite數(shù)據(jù)庫詳解的詳細內(nèi)容,更多關于Python處理MySQL與SQLite的資料請關注腳本之家其它相關文章!
相關文章
用Python做個自動化彈鋼琴腳本實現(xiàn)天空之城彈奏
突然靈機一動,能不能用Python自動化腳本彈奏一曲美妙的鋼琴曲呢?今天就一起帶大家如何用Python實現(xiàn)自動化彈出一首《天空之城》有需要的朋友可以借鑒參考下2021-09-09
深入探究python中Pandas庫處理缺失數(shù)據(jù)和數(shù)據(jù)聚合
在本篇文章中,我們將深入探討Pandas庫中兩個重要的數(shù)據(jù)處理功能:處理缺失數(shù)據(jù)和數(shù)據(jù)聚合,文中有詳細的代碼示例,對我們的學習或工作有一定的幫助,需要的朋友可以參考下2023-07-07
Python利用柯里化實現(xiàn)提高代碼質(zhì)量
柯里化(Currying)是函數(shù)式編程中的一個重要概念,它可以將一個多參數(shù)函數(shù)轉(zhuǎn)化為一系列單參數(shù)函數(shù)的組合,本文將詳細解釋什么是柯里化,如何在Python中實現(xiàn)柯里化,感興趣的可以了解下2024-01-01

