Python處理MySQL與SQLite數(shù)據(jù)庫(kù)詳解
在數(shù)據(jù)處理和存儲(chǔ)方面,數(shù)據(jù)庫(kù)扮演著至關(guān)重要的角色。Python提供了多種與數(shù)據(jù)庫(kù)交互的方式,其中pymysql庫(kù)用于連接和操作MySQL數(shù)據(jù)庫(kù),而SQLite則是一種輕量級(jí)的嵌入式數(shù)據(jù)庫(kù),Python標(biāo)準(zhǔn)庫(kù)中的sqlite3模塊即可滿足操作需求。本文將為入門者介紹MySQL和SQLite,并分別展示如何使用Python進(jìn)行增刪改查操作。
1. MySQL 簡(jiǎn)介
MySQL是一種開源的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),廣泛應(yīng)用于各種Web應(yīng)用。它支持標(biāo)準(zhǔn)的SQL語言,提供了高性能、高可靠性和可擴(kuò)展性。
安裝pymysql
在Python中操作MySQL數(shù)據(jù)庫(kù),需要先安裝pymysql庫(kù)??梢允褂胮ip進(jìn)行安裝:
pip install pymysql
1.1 連接MySQL數(shù)據(jù)庫(kù)
import pymysql # 創(chuàng)建數(shù)據(jù)庫(kù)連接 connection = pymysql.connect( host='localhost', # 數(shù)據(jù)庫(kù)主機(jī)地址 user='your_username', # 數(shù)據(jù)庫(kù)用戶名 password='your_password', # 數(shù)據(jù)庫(kù)密碼 database='your_database' # 數(shù)據(jù)庫(kù)名稱 ) # 創(chuàng)建游標(biāo)對(duì)象 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) # 提交事務(wù) connection.commit() print("插入成功") except Exception as e: print("插入失?。?, e) # 回滾事務(wù) connection.rollback() finally: # 關(guān)閉游標(biāo)和連接 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: # 關(guān)閉游標(biāo)和連接 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) # 提交事務(wù) connection.commit() print("更新成功") except Exception as e: print("更新失?。?, e) # 回滾事務(wù) connection.rollback() finally: # 關(guān)閉游標(biāo)和連接 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) # 提交事務(wù) connection.commit() print("刪除成功") except Exception as e: print("刪除失?。?, e) # 回滾事務(wù) connection.rollback() finally: # 關(guān)閉游標(biāo)和連接 cursor.close() connection.close()
2. SQLite 簡(jiǎn)介
SQLite是一種輕量級(jí)的嵌入式數(shù)據(jù)庫(kù),它不需要單獨(dú)的服務(wù)器進(jìn)程,非常適合在本地存儲(chǔ)數(shù)據(jù)。SQLite支持標(biāo)準(zhǔn)的SQL語法,并且Python標(biāo)準(zhǔn)庫(kù)中的sqlite3模塊可以直接操作SQLite數(shù)據(jù)庫(kù)。
2.1 連接SQLite數(shù)據(jù)庫(kù)
import sqlite3 # 創(chuàng)建數(shù)據(jù)庫(kù)連接(如果數(shù)據(jù)庫(kù)文件不存在會(huì)自動(dòng)創(chuàng)建) connection = sqlite3.connect('your_database.db') # 創(chuàng)建游標(biāo)對(duì)象 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) # 提交事務(wù) connection.commit() print("插入成功") except sqlite3.Error as e: print("插入失敗:", e) finally: # 關(guān)閉游標(biāo)和連接 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: # 關(guān)閉游標(biāo)和連接 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) # 提交事務(wù) connection.commit() print("更新成功") except sqlite3.Error as e: print("更新失敗:", e) finally: # 關(guān)閉游標(biāo)和連接 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) # 提交事務(wù) connection.commit() print("刪除成功") except sqlite3.Error as e: print("刪除失?。?, e) finally: # 關(guān)閉游標(biāo)和連接 cursor.close() connection.close()
通過以上步驟,你可以輕松地使用Python對(duì)MySQL和SQLite數(shù)據(jù)庫(kù)進(jìn)行增刪改查操作。
以上就是Python處理MySQL與SQLite數(shù)據(jù)庫(kù)詳解的詳細(xì)內(nèi)容,更多關(guān)于Python處理MySQL與SQLite的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Python數(shù)據(jù)庫(kù)編程之SQLite和MySQL的實(shí)踐指南
- Python常用數(shù)據(jù)庫(kù)接口sqlite3和MySQLdb學(xué)習(xí)指南
- Python操作SQLite/MySQL/LMDB數(shù)據(jù)庫(kù)的方法
- Python處理JSON數(shù)據(jù)并導(dǎo)入Neo4j數(shù)據(jù)庫(kù)
- Python 處理數(shù)據(jù)庫(kù)事務(wù)的操作方法
- Python辦公自動(dòng)化之JSOM數(shù)據(jù)處理與SQL Server數(shù)據(jù)庫(kù)操作
- python處理SQLite數(shù)據(jù)庫(kù)的方法
相關(guān)文章
簡(jiǎn)單的編程0基礎(chǔ)下Python入門指引
這篇文章主要介紹了簡(jiǎn)單的編程0基礎(chǔ)下Python入門指引,包括從各個(gè)系統(tǒng)的Python安裝和簡(jiǎn)單的語句知識(shí),需要的朋友可以參考下2015-04-04用Python做個(gè)自動(dòng)化彈鋼琴腳本實(shí)現(xiàn)天空之城彈奏
突然靈機(jī)一動(dòng),能不能用Python自動(dòng)化腳本彈奏一曲美妙的鋼琴曲呢?今天就一起帶大家如何用Python實(shí)現(xiàn)自動(dòng)化彈出一首《天空之城》有需要的朋友可以借鑒參考下2021-09-09深入探究python中Pandas庫(kù)處理缺失數(shù)據(jù)和數(shù)據(jù)聚合
在本篇文章中,我們將深入探討Pandas庫(kù)中兩個(gè)重要的數(shù)據(jù)處理功能:處理缺失數(shù)據(jù)和數(shù)據(jù)聚合,文中有詳細(xì)的代碼示例,對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-07-07深入學(xué)習(xí)Python中的上下文管理器與else塊
這篇文章主要給大家介紹了關(guān)于Python中上下文管理器與else塊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08Python利用柯里化實(shí)現(xiàn)提高代碼質(zhì)量
柯里化(Currying)是函數(shù)式編程中的一個(gè)重要概念,它可以將一個(gè)多參數(shù)函數(shù)轉(zhuǎn)化為一系列單參數(shù)函數(shù)的組合,本文將詳細(xì)解釋什么是柯里化,如何在Python中實(shí)現(xiàn)柯里化,感興趣的可以了解下2024-01-01一文詳細(xì)講解如何手動(dòng)安裝python第三方庫(kù)
這篇文章主要介紹了手動(dòng)安裝Python第三方庫(kù)的步驟,包括下載庫(kù)文件、解壓文件和執(zhí)行安裝命令,文中通過代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-11-11Python多線程、異步+多進(jìn)程爬蟲實(shí)現(xiàn)代碼
這篇文章主要介紹了Python多線程、異步+多進(jìn)程爬蟲實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-02-02