PYTHON 幫助

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

發佈 2024年8月13日
分享:

sqlite3 Python 模組提供了一種與 SQLite 資料庫互動的方式。它是 Python 標準庫的一部分,因此你不需要額外安裝任何東西來使用它。讓我們來探索一下它的功能並看看一些程式碼範例。在本文後面,我們將探索 IronPDF,一個由 IronSoftware 開發的 PDF 生成庫。

介紹

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。
  1. 連接到數據庫:
  • 建立連接到名為example3.db的SQLite數據庫。
  1. 創建表格:
    • 定義一個名為users的SQLite表格,包含id欄位。 (INTEGER,PRIMARY KEY), `name` (文本,不為 NULL),和 age (整數).4. 插入資料:
    • 將多行資料插入到 `users` 表中。
  2. 提交交易:
  • 提交更改到資料庫,使其永久生效。

    1. 查詢資料庫:
  • 執行 SELECT 語句以檢索 `users` 表中的所有行。

    1. 更新資料:
  • 更新名為 'Alice' 的使用者的 `age`。

    1. 刪除資料:
  • 從 `users` 表中刪除名為 'IronUser1' 的使用者。
    1. 生成 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.9 剛剛發布

免費 pip 安裝 查看許可證 >