當前位置: 妍妍網 > 碼農

幾行程式碼教你操作小型資料庫sqlite

2024-03-04碼農
SQLite介紹

SQLite 是一款輕型、小巧、高效的關系型資料庫管理系統,它可以在任何作業系統中執行。而且它的驅動程式也非常豐富,各種語言都有對應的驅動。

這裏我們使用 Python 內建的 sqlite3 模組來演示如何使用 Python 操作 SQLite 資料庫。

引入模組

使用 Python 操作 SQLite 需要先引入 sqlite3 模組。

import sqlite3

連線資料庫

連線 SQLite 資料庫可以使用 connect() 方法,它有一個必需參數是資料庫檔名,如果檔不存在則會自動建立,如果檔存在則會連線該檔。

# 連線或建立資料庫
conn = sqlite3.connect('test.db')

connect() 方法還可以有其他參數,例如 timeout,它表示在等待某個鎖的時間內如果沒有成功,則會丟擲 sqlite3.BusyError 異常。

建立表

建立表可以執行 SQL 語句,也可以使用 Python 操作資料庫的 API。

# 建立表
conn.execute('''
CREATE TABLE if not exists company
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);
'''
)

插入數據

插入數據需要使用 INSERT 語句,語法為:

conn.execute(f"INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY)
VALUES ({id}, '{name}', {age}, '{address}', {salary})"
)

或者使用參數化 SQL 語句,語法為:

conn.execute("INSERT INTO company (ID,NAME,AGE,ADDRESS,SALARY) VALUES (?, ?, ?, ?, ?)"
(id, name, age, address, salary))

其中 ? 表示占位符,後面的元組中為需要插入的數據。

查詢數據

查詢數據需要使用 SELECT 語句,語法為:

cursor = conn.execute("SELECT ID, NAME, AGE, ADDRESS, SALARY FROM company")
for row in cursor:
print(f"ID = {row[0]}, NAME = {row[1]}, AGE = {row[2]}, ADDRESS = {row[3]}, SALARY = {row[4]}")

更新數據

更新數據需要使用 UPDATE 語句,語法為:

conn.execute(f"UPDATE company SET SALARY = {salary} WHERE ID = {id}")

刪除數據

刪除數據需要使用 DELETE 語句,語法為:

conn.execute(f"DELETE from company where ID = {id}")

送出事務

Python 操作 SQLite 資料庫自動開啟一個事務,如果要送出事務,需要使用 commit() 方法。

conn.commit()

關閉資料庫連線

不需要存取資料庫時,需要關閉連線。

conn.close()

總結

透過上述程式碼可以看出,使用 Python 操作 SQLite 資料庫非常簡單,只需要使用一些簡單的 SQL 語句或者 Python API 就可以完成增刪改查等操作。SQLite 資料庫的優點是體積小、執行速度快,尤其適合一些嵌入式裝置或需要大量讀寫的場景。


Sora最近老火了,Sora 的出現會對短視 頻、廣告、遊戲、影視行業等產業格局一定會被重塑,目前 Sora 還沒正式開放註冊,大家看到的使用體驗大部份都來自官網,或者少部份 的使用者分享。

為了避免更多讀者受騙,我們直接給大家整了一個免費的。

註意是下面【 Python都知道 】公眾號,點選下方的公眾號卡片,然後回復【 sora ,即可獲取最新 Sora 的最全資料。


目前已經分享了,如何申請 Sora 的內測,以及最新關於 Sora 的技術特點,使用教程、變現機遇等等。