PYTHON 幫助

sqlite3 Python(如何為開發人員運作)

發佈 2024年8月13日
分享:

sqlite3Python模組提供了一種與SQLite資料庫互動的方法。 它是 Python 標準庫的一部分,所以您不需要另外安裝任何東西即可使用它。 讓我們探索其功能並查看一些代碼範例。 在本文的稍後部分,我們將探討由 Iron Software 開發的 PDF 生成庫 IronPDF。

介紹

SQLite 是一種輕量型、基於磁碟的資料庫,不需要單獨的資料庫伺服器進程。 sqlite3 模組提供一個符合 SQL 介面的環境,使您可以無縫地與現有的資料庫或新創建的資料庫互動。 該模組遵循PEP 2491所描述的DB-API 2.0規範。

基本用法

以下是一個簡單的範例和多個 SQL 語句來幫助您入門sqlite3.

連接到數據庫

首先,您需要連接到您的SQLite資料庫。 如果資料庫檔案遺失,將會自動生成:

import sqlite3
# Connect to the database (or create it if it doesn't exist)
conn = sqlite3.connect('example.db')
# Create a cursor object
cur = conn.cursor()
PYTHON

建立表格

使用 CREATE TABLE SQL 語句來建立一個新的資料表:

# Create a table using sql statements like below
cur.execute('''
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY,
        name TEXT NOT NULL,
        age INTEGER
    )
''')
PYTHON

插入資料

以下是將數據插入資料庫表的方法:

# Insert data into the table
cur.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('Alice', 30))
# Commit the transaction with connection object
conn.commit()
PYTHON

查詢數據

您可以執行 SQL 命令並從資料庫表中獲取結果:

# Query the database
cur.execute('SELECT * FROM users')
# Fetch all results
rows = cur.fetchall()
# Print the results
for row in rows:
    print(row)
PYTHON

更新數據

要更新表中的現有資料:

# Update data in the table
cur.execute('''
    UPDATE users SET age = ? WHERE name = ?
''', (31, 'Alice'))
# Commit the transaction
conn.commit()
PYTHON

刪除資料

要刪除資料庫中名稱為 Alice 的資料列:

# Delete data from the table
cur.execute('''
    DELETE FROM users WHERE name = ?
''', ('Alice',))
# Commit the transaction
conn.commit()
PYTHON

關閉連接

請記得在完成後關閉游標和連接:

# Close the cursor and connection
cur.close()
conn.close()
PYTHON

進階功能

使用上下文管理器

您可以使用上下文管理器來自動處理關閉連接:

with sqlite3.connect('example.db') as conn:
    cur = conn.cursor()
    cur.execute('SELECT * FROM users')
    rows = cur.fetchall()
    for row in rows:
        print(row)
PYTHON

處理交易

SQLite 支援事務,您可以使用 BEGIN、COMMIT 和 ROLLBACK 來管理這些事務:

try:
    conn.execute('BEGIN')
    cur.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Bob', 25))
    conn.commit()
except sqlite3.Error as e:
    conn.rollback()
    print(f"An error occurred: {e}")
PYTHON

介紹 IronPDF

sqlite3 Python(對開發人員的工作原理):圖 1 - IronPDF:Python PDF 庫

IronPDF是一個強大的 Python 程式庫,專為使用 HTML、CSS、圖像和 JavaScript 創建、編輯及簽署 PDF 文件而設計。 它提供商用級性能且佔用較低的記憶體資源。 主要功能包括:

HTML 轉換為 PDF:

將 HTML 文件、HTML 字串和 URL 轉換為 PDF。 例如,使用 Chrome PDF 渲染器將網頁呈現為 PDF。

跨平台支持:

兼容各種 .NET 平台,包括 .NET Core、.NET Standard 和 .NET Framework。 它支援 Windows、Linux 和 macOS。

編輯和簽署:

設置屬性、通過密碼和權限添加安全性,並對您的PDF應用數字簽名。

頁面模板和設置:

自訂 PDF 檔案的頁首、頁尾、頁碼以及可調整的邊距。它支援響應式版面和自訂紙張尺寸。

標準合規性:

它符合 PDF 標準,如 PDF/A 和 PDF/UA,支持 UTF-8 字符編碼,並能管理資產如圖片、CSS 和字體。

使用 IronPDF 和 SQLite3 Python 生成 PDF 文件

import sqlite3
from ironpdf import * 
# Apply your license key
License.LicenseKey = "key"
# Connect to the sqlite database file (or create it if it doesn't exist)
conn = sqlite3.connect('example.db')
# Create a cursor object for database connection
cur = conn.cursor()
# Create a table sql command 
cur.execute('''
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY,
        name TEXT NOT NULL,
        age INTEGER
    )
''')
# Insert data into the table
cur.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser1', 30))
cur.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser2', 31))
cur.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser3', 25))
cur.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('IronUser4', 28))
# Commit the transaction with connection object
conn.commit()
# Query the database
cur.execute('SELECT * FROM users')
# Fetch all results
rows = cur.fetchall()
# Print the results
for row in rows:
    print(row)
# Update data in the table
cur.execute('''
    UPDATE users SET age = ? WHERE name = ?
''', (31, 'Alice'))
# Commit the transaction
conn.commit()    
# Delete data from the table
cur.execute('''
    DELETE FROM users WHERE name = ?
''', ('IronUser1',))
# Commit the transaction
conn.commit()
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
content = "<h1>Awesome Iron PDF with Sqlite3</h1>"
content += "<p>table data</p>"
for row in rows:
    print(row)
    content += "<p>"+str(row)+"</p>"
# Close the cursor and connection
cur.close()
conn.close()
pdf = renderer.RenderHtmlAsPdf(content)    
    # Export to a file or Stream
pdf.SaveAs("DemoSqlite3.pdf")
PYTHON

程式碼說明

這個 Python 程式演示如何使用 SQLite 庫創建資料庫、插入數據、執行查詢、更新記錄、刪除記錄,最後使用 IronPDF 生成 PDF 文件。

  1. 匯入庫:

    • sqlite3:Python內建的模組,用於處理SQLite數據庫。
    • ironpdf:從 IronPDF 導入組件,這允許生成 PDF。2. 連接到資料庫:
    • 建立與名為 example3.db 的 SQLite 資料庫的連接。3. 創建一個表:
    • 定義一個 SQLite 資料表 `users`,包含欄位 `id`(INTEGER,PRIMARY KEY), `name`(文本,不為 NULL),和 age(整數).4. 插入資料:
    • 將多行資料插入至 `users` 表中。5. 提交交易:
    • 將更改提交到資料庫以使其持久化。6. 查詢資料庫:
    • 執行 SELECT 語句以檢索 `users` 表中的所有行。7. 更新數據:
    • 更新名為「Alice」的使用者的 age。8. 刪除資料:
    • 將名為 'IronUser1' 的用戶從 users 表中刪除。9. 生成 PDF:
    • 使用 IronPDF(`ChromePdfRenderer`)從 HTML 內容創建 PDF 文件。
    • 結合標頭和表格數據(從數據庫檢索)嵌入到 HTML 內容中。
    • 將 PDF 文件儲存為DemoSqlite3.pdf。10. 關閉連接: * 關閉游標(`cur`)和連接(連線)釋放資源。

    此腳本展示了從資料庫設置到資料操作及使用 Python 的 SQLite3 和 IronPDF 函式庫生成 PDF 的完整工作流程。

輸出

sqlite3 Python(對開發人員來說的運作方式):圖2 - 範例控制台輸出

PDF

sqlite3 Python(對開發者的運作方式):圖 3 - 由 IronPDF 生成的示例 PDF 輸出,使用 sqlite 查詢數據

IronPDF 授權

IronPDF 依據授權金鑰運行。 IronPDF for Python 提供免費試用授權金鑰讓用戶在購買前測試其廣泛的功能。

在此處放置授權金鑰:

import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
PYTHON

結論

sqlite3 Python(對開發人員的工作原理):圖 4 - IronPDF 許可頁面

sqlite3 模組是在 Python 中使用 SQLite 資料庫的一個功能強大且易於使用的工具。 它整合到 Python 標準庫中,使簡單和複雜的數據庫操作變得方便。 這IronPDF. 之後,許可證起價為 $749 以上。

< 上一頁
asyncio Python(它如何為開發者運作)
下一個 >
psycopg2(開發人員操作說明)

準備開始了嗎? 版本: 2024.11.1 剛剛發布

免費 pip 安裝 查看許可證 >