Python中的資料庫處理:SQLite和Redis
在我們所處的資訊時代,我們可以看到世界正在交換多少資料。我們基本上是在廣泛地創建、儲存和檢索資料!應該有一種方法來處理這一切——如果沒有任何管理,它就不可能到處傳播,對嗎?這裡是資料庫管理系統(DBMS)。
DBMS 是一個軟體系統,可讓您建立、儲存、修改、檢索和以其他方式處理資料庫中的資料。此類系統的大小也各不相同,從僅在個人電腦上運行的小型系統到在大型主機上運行的大型系統。
本教學的重點是 Python,而不是資料庫設計。是的,Python 非常能夠與資料庫交互,這就是我將在本教程中向您展示的內容。您將學習如何使用 Python 處理 SQLite 和 Redis 資料庫。
讓我們開始吧!
Python 資料庫 API
如上所述,Python 能夠與資料庫互動。但是,它怎麼能做到這一點呢? Python 使用所謂的 Python Database API 來與資料庫進行互動。此 API 允許我們對不同的資料庫管理系統 (DBMS) 進行程式設計。然而,對於不同的 DBMS,程式碼層級遵循的過程是相同的,如下所示:
- 與您選擇的資料庫建立連線。
- 建立一個遊標來與資料通訊。
- 使用 SQL 操作資料(互動)。
- 告訴連接將SQL 操作應用於資料並使它們永久化(提交),或告訴它中止這些操作(回滾),從而返回將資料恢復到交互發生之前的狀態。
- 關閉與資料庫的連線。
SQLite
SQLite 是一個開源、功能齊全、獨立(幾乎不需要外部程式庫的支援)、無伺服器(不需要伺服器來運行資料庫引擎,並且是本地儲存的資料庫)、零配置(無需安裝或設定)、基於SQL 的輕量級資料庫管理系統(可以在SQLite 表上執行SQL 查詢),並使用一個資料檔來儲存資料。
值得一提的是,SQLite 被 Google、Apple、Microsoft 等大公司使用,這使得它非常可靠。在本教程中,我們將使用 SQLite 與資料庫交互,更具體地說,我們將使用 Python 中的 sqlite3 模組。
Python 和 SQLite
如上所述,使用資料庫涉及五個個主要步驟。讓我們看看這些步驟的實際效果。
1.建立與您選擇的資料庫的連線
該步驟實作如下:
conn = sqlite3.connect('company.db')
#如 sqlite3
文件所述:
要使用該模組,您必須先建立一個表示資料庫的 Connection
物件。
在上面的程式碼中,請注意資料將儲存在檔案 company.db
中。
2.建立遊標來與資料通訊
使用資料庫的下一步是建立遊標,如下所示:
curs = conn.cursor()
#3.使用 SQL 運算資料
連接資料庫並建立遊標後,我們現在就可以處理(互動)資料了。換句話說,我們現在可以在資料庫 company.db
上執行 SQL 指令。
假設我們要在資料庫 company
中建立一個新表 employee
。在這種情況下,我們需要執行 SQL 命令。為此,我們將使用 sqlite3
模組的 execute()
方法。因此,Python 語句將如下所示:
curs.execute('建立表格員工(姓名,年齡)')
#此語句將執行一個SQL 指令,該指令將建立一個名為employee
的表,其中包含兩個欄位(欄位)name
和age
。
我們現在可以執行一個新的 SQL 命令來在表中插入數據,如下所示:
curs.execute("插入員工值('Ali', 28)")
您也可以一次插入多個值,如下所示:
值 = [('Brad',54), ('Ross', 34), ('Muhammad', 28), ('Bilal', 44)]
#在這種情況下,我們將使用方法execute()
,而不是使用方法executemany()
來執行上述多個值。
curs.executemany('插入員工值(?,?)', value)
4.提交更改
在此步驟中,我們希望套用(提交)我們在上一步中所做的變更。這很簡單,如下所示:
conn.commit()
5.關閉與資料庫的連線
執行操作並提交更改後,最後一步是關閉連線:
conn.close()
讓我們將所有步驟放在一個腳本中。程式將如下所示(請注意,我們必須先導入 sqlite3
模組):
import sqlite3 conn = sqlite3.connect('company.db') curs = conn.cursor() curs.execute('create table employee (name, age)') curs.execute("insert into employee values ('Ali', 28)") values = [('Brad',54), ('Ross', 34), ('Muhammad', 28), ('Bilal', 44)] curs.executemany('insert into employee values(?,?)', values) conn.commit() conn.close()
如果執行該腳本,您應該在目前目錄中取得一個名為 company.db
的檔案。下載此文件,因為我們將在下一步中使用它。
6.讓我們瀏覽一下資料庫
建立了資料庫和表格並新增了一些資料後,讓我們看看 company.db
(您在上一節下載的檔案)裡面有什麼。為此,我們將使用一個很好的工具:DB Browser for SQLite。繼續將該工具下載到您的電腦。打開程式後,您應該會看到如下所示的畫面:
#使用頂部的開啟資料庫按鈕開啟資料庫,在這種情況下,您應該獲得資料庫結構,如下所示:
#請注意,我們列出了表格 employee
,其中包含兩個欄位:name
和 age
。
要確認上面的程式碼有效且資料已新增至表中,請按一下瀏覽資料標籤。您應該會看到類似以下內容:
#可以看到,資料庫(company
)和表格(employee
)已經建立完成,並且資料已成功新增到表中。
Redis
遠端字典伺服器,簡稱為Redis,是一個強大的 NoSQL 資料庫,也能夠充當記憶體快取。 Redis 由 Salvatore Sanfilippo 開發,目前由 Redis Labs 維護。該軟體使用C程式語言編寫,並且是開源的(BSD許可證)。
Redis 最顯著的特點之一就是它的資料結構儲存機制。您可以使用 Python 中的相同資料類型(字串、集合、整數、列表、字典等)在 Redis 中儲存資料。 這使得 Redis 成為 Python 開發人員的熱門選擇。
Redis 和 Python
#除了其資料結構儲存機制之外,Python 開發人員還因為 Redis 擁有大量 Python 用戶端而更喜歡 Redis 而不是其他 NoSQL 資料庫,其中最受歡迎的選擇可能是 redis-py。 Redis-py 提供了用於在 Redis 伺服器中儲存各種資料的內建命令。
現在我們對 Redis 有了基本的了解,讓我們學習如何在其中儲存資料。在繼續之前,請確保您的電腦上安裝了 Redis 伺服器。
1.安裝Redis.py客戶端
首先,為您的 Python 腳本建立一個名為 redis-python 的新資料夾。接下來,使用命令終端機 cd 到該資料夾,然後執行以下命令來安裝 Redis 用戶端:
#pip install redis
然後,在 redis-python 中建立一個名為 app.py 的文件,並使用文字編輯器開啟該文件。下一步是建立用於將資料新增至資料庫的 Python 腳本。
2.將Redis客戶端連接到Redis伺服器
#首先,在app.py中,匯入redis
並設定Redis伺服器主機和連接埠位址的變數:
import redis redis_host = 'localhost' redis_port = 6379
接下來,定義要新增到資料庫的資料。在本例中,我們將建立一個簡單的 Python 字典:
user = { 'ID': 1, 'name': 'Kingsley Ubah', 'email': 'ubahthebuilder@gmail.com', 'role': 'Tech Writing', }
接下來,使用 try... except
定義 add_to_db
函式。在 try
區塊中,我們連接到本機 Redis 伺服器並將上述字典儲存在資料庫中,然後在控制台上輸出值。如果程式碼失敗,我們會在 except
區塊中列印錯誤物件。最後一部分將運行該函數:
def add_to_db(): try: r = redis.StrictRedis(host = redis_host, port = redis_port, decode_responses=True) r.hmset("newUserOne", user) msg = r.hgetall("newUserOne") print(msg) except Exception as e: print(f"Something went wrong {e}") # Runs the function: if __name__ == "__main__": add_to_db()
3.啟動伺服器並執行程式碼
首先,透過在命令終端機上執行以下命令來執行 Redis 伺服器:
redis-cli
一旦伺服器處於活動狀態,您就可以使用下列命令執行 Python 腳本:
python app.py
如果一切顺利,包含用户配置文件的字典将使用 newUserOne
键添加到 Redis。此外,您应该在终端控制台上看到以下输出:
{ 'ID': '1', 'name': 'Kingsley Ubah', 'email': 'ubahthebuilder@gmail.com', 'role': 'Tech Writing', }
这就是 Redis 的全部内容!
结论
本教程仅触及使用 Python 处理数据库的皮毛。您可以从 sqlite3
模块了解更多方法,您可以在其中执行不同的数据库操作,例如更新和查询数据库。
要了解有关 redis-py 的更多信息,请立即阅读其完整文档。玩得开心!
以上是Python中的資料庫處理:SQLite和Redis的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

Golang在性能和可擴展性方面優於Python。 1)Golang的編譯型特性和高效並發模型使其在高並發場景下表現出色。 2)Python作為解釋型語言,執行速度較慢,但通過工具如Cython可優化性能。

Redis緩存方案如何實現產品排行榜列表的需求?在開發過程中,我們常常需要處理排行榜的需求,例如展示一個�...

Python更易學且易用,C 則更強大但複雜。 1.Python語法簡潔,適合初學者,動態類型和自動內存管理使其易用,但可能導致運行時錯誤。 2.C 提供低級控制和高級特性,適合高性能應用,但學習門檻高,需手動管理內存和類型安全。

Laravel 8 針對性能優化提供了以下選項:緩存配置:使用 Redis 緩存驅動、緩存門面、緩存視圖和頁面片段。數據庫優化:建立索引、使用查詢範圍、使用 Eloquent 關係。 JavaScript 和 CSS 優化:使用版本控制、合併和縮小資產、使用 CDN。代碼優化:使用 Composer 安裝包、使用 Laravel 助手函數、遵循 PSR 標準。監控和分析:使用 Laravel Scout、使用 Telescope、監控應用程序指標。

Python在開發效率上優於C ,但C 在執行性能上更高。 1.Python的簡潔語法和豐富庫提高開發效率。 2.C 的編譯型特性和硬件控制提升執行性能。選擇時需根據項目需求權衡開發速度與執行效率。
