Python處理數據庫:MySQL與SQLite詳解
在數據處理和存儲方面,數據庫扮演著至關重要的角色。Python提供了多種與數據庫交互的方式,其中pymysql
庫用于連接和操作MySQL數據庫,而SQLite則是一種輕量級的嵌入式數據庫,Python標準庫中的sqlite3
模塊即可滿足操作需求。本文將為入門者介紹MySQL和SQLite,并分別展示如何使用Python進行增刪改查操作。
1. MySQL 簡介
MySQL是一種開源的關系型數據庫管理系統(RDBMS),廣泛應用于各種Web應用。它支持標準的SQL語言,提供了高性能、高可靠性和可擴展性。
安裝pymysql
在Python中操作MySQL數據庫,需要先安裝pymysql
庫。可以使用pip進行安裝:
pip install pymysql
1.1 連接MySQL數據庫
import pymysql# 創建數據庫連接
connection = pymysql.connect(host='localhost', # 數據庫主機地址user='your_username', # 數據庫用戶名password='your_password', # 數據庫密碼database='your_database' # 數據庫名稱
)# 創建游標對象
cursor = connection.cursor()
1.2 增加數據(Insert)
try:# SQL插入語句sql = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"val = ("value1", "value2")# 執行SQL語句cursor.execute(sql, val)# 提交事務connection.commit()print("插入成功")
except Exception as e:print("插入失敗:", e)# 回滾事務connection.rollback()
finally:# 關閉游標和連接cursor.close()connection.close()
1.3 查詢數據(Select)
try:# SQL查詢語句sql = "SELECT * FROM your_table"# 執行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 更新數據(Update)
try:# SQL更新語句sql = "UPDATE your_table SET column1 = %s WHERE column2 = %s"val = ("new_value1", "value2")# 執行SQL語句cursor.execute(sql, val)# 提交事務connection.commit()print("更新成功")
except Exception as e:print("更新失敗:", e)# 回滾事務connection.rollback()
finally:# 關閉游標和連接cursor.close()connection.close()
1.5 刪除數據(Delete)
try:# SQL刪除語句sql = "DELETE FROM your_table WHERE column1 = %s"val = ("value1",)# 執行SQL語句cursor.execute(sql, val)# 提交事務connection.commit()print("刪除成功")
except Exception as e:print("刪除失敗:", e)# 回滾事務connection.rollback()
finally:# 關閉游標和連接cursor.close()connection.close()
2. SQLite 簡介
SQLite是一種輕量級的嵌入式數據庫,它不需要單獨的服務器進程,非常適合在本地存儲數據。SQLite支持標準的SQL語法,并且Python標準庫中的sqlite3
模塊可以直接操作SQLite數據庫。
2.1 連接SQLite數據庫
import sqlite3# 創建數據庫連接(如果數據庫文件不存在會自動創建)
connection = sqlite3.connect('your_database.db')# 創建游標對象
cursor = connection.cursor()
2.2 增加數據(Insert)
try:# SQL插入語句sql = "INSERT INTO your_table (column1, column2) VALUES (?, ?)"val = ("value1", "value2")# 執行SQL語句cursor.execute(sql, val)# 提交事務connection.commit()print("插入成功")
except sqlite3.Error as e:print("插入失敗:", e)
finally:# 關閉游標和連接cursor.close()connection.close()
2.3 查詢數據(Select)
try:# SQL查詢語句sql = "SELECT * FROM your_table"# 執行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 更新數據(Update)
try:# SQL更新語句sql = "UPDATE your_table SET column1 = ? WHERE column2 = ?"val = ("new_value1", "value2")# 執行SQL語句cursor.execute(sql, val)# 提交事務connection.commit()print("更新成功")
except sqlite3.Error as e:print("更新失敗:", e)
finally:# 關閉游標和連接cursor.close()connection.close()
2.5 刪除數據(Delete)
try:# SQL刪除語句sql = "DELETE FROM your_table WHERE column1 = ?"val = ("value1",)# 執行SQL語句cursor.execute(sql, val)# 提交事務connection.commit()print("刪除成功")
except sqlite3.Error as e:print("刪除失敗:", e)
finally:# 關閉游標和連接cursor.close()connection.close()
通過以上步驟,你可以輕松地使用Python對MySQL和SQLite數據庫進行增刪改查操作。希望這篇博客能夠幫助你入門Python數據庫編程!