Python3 - 1. SQLite 3 的基本使用

1 月 22, 2024

--

參考資源

--

認識 SQLite 3

SQLite 3 使用在程式內,也就是 SQLite 並不是像 MySQL 或 Redis 一樣是 Server Client 的架構,需要先安裝 Server 在主機上,然後使用 Client 去使用。是直接使用程式去存取資料庫,實體上就是一個檔案,一個檔案就代表整個資料庫。

因為只是一個檔案,所以 SQLite 3 建議不推薦使用在多人同時環境上,因為 SQLite 3 同時間只能一個寫入動作,

--

安裝

SQLite 3 不需要安裝,只要程式有支援就可以直接使用。Hoyo 在架構設計時還是需要 GUI 輔助,所以會安裝 DB Browser for SQLite 來使用。

--

連接資料庫

Python 3 內建 SQLite 3,因此可以直接使用

在正式資料存取時,建議將資料庫連接包裝成一個 function

  • isolation_level=None
    設定 autocommit 也就是關閉了 Transaction 交易功能,根據程式需求設定,預設是啟用 Transaction
  • row_factory = sqlite3.Row
    表示回傳欄位名稱,因為 Hoyo 覺得使用順位 0 1 2 3 寫程式很反人類

--

搜尋一筆資料

  • fetchone() 只取一筆資料
  • 因為設定了 sqlite3.Row 所以取資料時就是使用欄位名稱
  • :RoomId
    在 Prepared Statement 也是使用名稱,? 也是反人類

--

搜尋多筆資料

  • 使用 fetchall() 就是取得 SELECT 所有資料

--

插入

  • SQLite 3 寫入都需要關閉資料庫,表示確定寫入,在此使用 closing,一般使用 close()

--

修改

--

刪除

--

 345 total views,  2 views today

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。