如何使用Python操作SQLite?輕量數據庫教程

python 操作 sqlite 數據庫的步驟如下:1. 使用 sqlite3.connect() 連接數據庫并創建文件;2. 通過 cursor 執行 sql 創建數據表;3. 使用參數化查詢插入、更新、刪除數據;4. 用 select 查詢記錄并處理結果;5. 操作完成后調用 commit() 提交更改并關閉連接。整個過程無需額外安裝依賴,適合小型項目和本地開發。

如何使用Python操作SQLite?輕量數據庫教程

SQLite 是一種輕量級的嵌入式數據庫,非常適合小型項目、本地開發或者作為移動應用的數據存儲。python 內置了對 SQLite 的支持,所以不需要額外安裝驅動或依賴庫就可以直接使用。

如何使用Python操作SQLite?輕量數據庫教程

下面我們就來看看怎么用 Python 操作 SQLite 數據庫。

如何使用Python操作SQLite?輕量數據庫教程


連接數據庫和創建表

首先,我們需要連接到一個數據庫文件。如果這個文件不存在,Python 會自動幫我們創建一個新的。

立即學習Python免費學習筆記(深入)”;

import sqlite3  conn = sqlite3.connect('example.db')

接下來,我們可以通過 cursor 對象來執行 SQL 語句,比如創建一張表:

如何使用Python操作SQLite?輕量數據庫教程

cursor = conn.cursor() cursor.execute('''     CREATE TABLE IF NOT EXISTS users (         id Integer PRIMARY KEY AUTOINCREMENT,         name TEXT NOT NULL,         age INTEGER     ) ''') conn.commit()

上面這段代碼做了幾件事:

  • 創建了一個名為 users 的表(如果已經存在就不會重復創建)
  • 定義了三個字段:自增主鍵 id、非空字符串 name、整數 age
  • 最后調用了 commit() 提交更改

別忘了操作完成后關閉連接:

conn.close()

插入數據和查詢結果

插入數據可以用 INSERT INTO 語句,這里建議使用參數化查詢來防止 SQL 注入:

cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ("Alice", 25)) conn.commit()

查詢也很簡單,例如查找所有用戶:

cursor.execute("SELECT * FROM users") rows = cursor.fetchall()  for row in rows:     print(row)

如果你只想查一條記錄,可以使用 fetchone():

row = cursor.fetchone() print(row)

記得每次執行完查詢或修改后都要檢查是否需要調用 commit(),尤其是涉及寫操作時。


更新和刪除數據

更新數據使用 UPDATE 語句,同樣推薦使用參數綁定:

cursor.execute("UPDATE users SET age = ? WHERE name = ?", (30, "Alice")) conn.commit()

刪除數據使用 delete 語句:

cursor.execute("DELETE FROM users WHERE name = ?", ("Alice",)) conn.commit()

這兩個操作都會修改數據庫內容,所以一定要記得調用 commit(),否則不會生效。


小貼士和注意事項

  • 數據庫連接要關閉:雖然 Python 在程序結束時會自動關閉連接,但最好手動調用 conn.close(),避免資源泄露。

  • 使用上下文管理器更安全:可以用 with 來自動提交事務或回滾錯誤。

    with sqlite3.connect('example.db') as conn:     cursor = conn.cursor()     cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ("Bob", 22))
  • 字段類型靈活:SQLite 是弱類型的,即使你定義了字段為 INTEGER,也可以存字符串進去,但不建議這么做,容易出錯。

  • 適合小規模數據:SQLite 不適合高并發寫的場景,但讀操作表現還不錯。

基本上就這些。SQLite 簡單好用,適合快速搭建原型或者做本地工具的數據存儲,配合 Python 基本上不需要太多配置就能開始用了。

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享