跳過到頁腳內容
PYTHON 幫助

sqlite utils python(開發人員工作原理)

這個SQLite-utils Python 套件是一個多功能的工具,包含用於處理 SQLite 資料庫的 Python 實用函數。 它提供命令行界面(CLI)和 Python 庫,讓創建、操作和查詢 SQLite 資料庫變得簡單。 讓我們深入了解其功能並查看一些程式碼範例。 Later in this article, we will explore IronPDF, a PDF generation library developed by Iron Software.

SQLite-utils 概述

SQLite-utils 被設計用來簡化相關於操作 SQLite 資料庫的各種任務。 它的一些主要功能包括:

  • 創建和管理資料庫:輕鬆創建新資料庫和數據表。
  • 插入和查詢數據:插入 JSON 數據、CSV 或 TSV 檔並執行 SQL 查詢。
  • 全文搜索:配置和運行全文搜索查詢。
  • 模式轉換:執行 SQLite 的 ALTER TABLE 無法直接支持的模式更改。
  • 數據規範化:將列提取到單獨的表中以規範化數據。
  • 自定義 SQL 函數:安裝插件以添加自定義 SQL 函數。

安裝

您可以使用 pip 安裝 SQLite-utils

pip install sqlite-utils
pip install sqlite-utils
SHELL

或者,如果您在 macOS 上使用 Homebrew:

brew install sqlite-utils
brew install sqlite-utils
SHELL

將 SQLite-utils 作為 CLI 工具使用

CLI 工具允許您直接從命令行執行各種操作。以下是一些例子:

創建資料庫並插入數據

讓我們創建一個新的 SQLite 資料庫並從 CSV 文件中插入一些數據:

# Create a new database and insert data from a CSV file
sqlite-utils insert dogs.db dogs dogs.csv --csv
# Create a new database and insert data from a CSV file
sqlite-utils insert dogs.db dogs dogs.csv --csv
SHELL

查詢數據

以下命令是您如何從數據庫進行 SQL 查詢:

# Query the database and display results in JSON format
sqlite-utils dogs.db "select * from dogs" --json
# Query the database and display results in JSON format
sqlite-utils dogs.db "select * from dogs" --json
SHELL

列出表

列出數據庫中的所有表及其行計數:

sqlite-utils tables dogs.db --counts
sqlite-utils tables dogs.db --counts
SHELL

將 SQLite-utils 作為 Python 庫使用

您也可以將 SQLite-utils 作為 Python 庫以程式化方式與 SQLite 資料庫交互。

創建資料庫並插入數據

以下是如何使用 Python 創建新資料庫和插入數據:

import sqlite_utils

# Create a new database
db = sqlite_utils.Database("demo_database.db")

# Insert data into a table
db["dogs"].insert_all([
    {"id": 1, "age": 4, "name": "Cleo"},
    {"id": 2, "age": 2, "name": "Pancakes"}
], pk="id")
import sqlite_utils

# Create a new database
db = sqlite_utils.Database("demo_database.db")

# Insert data into a table
db["dogs"].insert_all([
    {"id": 1, "age": 4, "name": "Cleo"},
    {"id": 2, "age": 2, "name": "Pancakes"}
], pk="id")
PYTHON

查詢數據

您可以運行 SQL 查詢並獲取結果:

# Run a query and fetch results
rows = db.query("SELECT * FROM dogs")
for row in rows:
    print(row)
# Run a query and fetch results
rows = db.query("SELECT * FROM dogs")
for row in rows:
    print(row)
PYTHON

全文搜索

啟用表的全文搜索並執行搜索查詢:

# Enable full-text search on the 'name' column
db["dogs"].enable_fts(["name"])

# Run a search query for the term "Cleo"
results = db["dogs"].search("Cleo")
for result in results:
    print(result)
# Enable full-text search on the 'name' column
db["dogs"].enable_fts(["name"])

# Run a search query for the term "Cleo"
results = db["dogs"].search("Cleo")
for result in results:
    print(result)
PYTHON

介紹 IronPDF

sqlite utils 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 和 Sqlite Utils 生成 PDF 文件

import sqlite_utils
from ironpdf import ChromePdfRenderer, License

# Apply your license key
License.LicenseKey = "key"

# Initialize a new database
db = sqlite_utils.Database("mydatabase.db")

# Define a table schema
schema = {
    "id": int,
    "name": str,
    "age": int
}

# Create a table with the defined schema
db["users"].create(schema)

# Sample data to insert into the table
data = [
    {"id": 1, "name": "Alice", "age": 30},
    {"id": 2, "name": "Bob", "age": 28},
    {"id": 3, "name": "Charlie", "age": 32}
]

# Insert data into the table
db["users"].insert_all(data)

# Query all records from the table
rows = db.query("SELECT * FROM users")

# Initialize the PDF renderer
renderer = ChromePdfRenderer()

# Create HTML content for the PDF
content = "<h1>Awesome IronPDF with Sqlite-Utils</h1>"
content += "<p>Table data:</p>"
for row in rows:
    content += f"<p>{row}</p>"

# Render the HTML content as PDF
pdf = renderer.RenderHtmlAsPdf(content)

# Save the generated PDF as a file
pdf.save_as("DemoSqliteUtils.pdf")
import sqlite_utils
from ironpdf import ChromePdfRenderer, License

# Apply your license key
License.LicenseKey = "key"

# Initialize a new database
db = sqlite_utils.Database("mydatabase.db")

# Define a table schema
schema = {
    "id": int,
    "name": str,
    "age": int
}

# Create a table with the defined schema
db["users"].create(schema)

# Sample data to insert into the table
data = [
    {"id": 1, "name": "Alice", "age": 30},
    {"id": 2, "name": "Bob", "age": 28},
    {"id": 3, "name": "Charlie", "age": 32}
]

# Insert data into the table
db["users"].insert_all(data)

# Query all records from the table
rows = db.query("SELECT * FROM users")

# Initialize the PDF renderer
renderer = ChromePdfRenderer()

# Create HTML content for the PDF
content = "<h1>Awesome IronPDF with Sqlite-Utils</h1>"
content += "<p>Table data:</p>"
for row in rows:
    content += f"<p>{row}</p>"

# Render the HTML content as PDF
pdf = renderer.RenderHtmlAsPdf(content)

# Save the generated PDF as a file
pdf.save_as("DemoSqliteUtils.pdf")
PYTHON

代碼說明

該腳本結合了 SQLite-utils Python 套件和 IronPDF 庫的功能,以管理 SQLite 資料庫並生成 PDF 文件。 以下是程式碼所做工作的一步步解釋:

  1. 資料庫初始化:

    • 使用 SQLite-utils 初始化名為“mydatabase.db”的 SQLite 資料庫。
  2. 表創建:

    • 定義一個包含列 idnameage 的表結構。
    • 使用定義的結構在 SQLite 資料庫中創建名為“users”的表。
  3. 數據插入:

    • 使用 SQLite-utils 向“users”表插入多條記錄。
  4. 數據查詢:

    • 從“users”表檢索所有記錄並創建數據的 HTML 表示。
  5. PDF 生成:
    • 使用 IronPDF 創建 PDF 文件。
    • 為 PDF 文件構建 HTML 內容,包括從 SQLite 資料庫檢索的表頭和表數據。
    • 將生成的 PDF 文件保存為“DemoSqliteUtils.pdf”。

總的來說,這個腳本展示了如何利用 SQLite-utils 執行資料庫管理任務,如表創建、數據插入和查詢,結合 IronPDF 從動態內容生成 PDF 文件,這些內容來自於 Python 應用程序中的 SQLite 資料庫。

輸出

sqlite utils Python(它如何為開發人員工作):圖 2 - 範例控制台輸出

PDF

sqlite utils Python(它如何為開發人員工作):圖 3 - 範例 PDF 輸出使用 IronPDF 生成報告

IronPDF 授權

IronPDF在Python許可證密鑰上運行。 IronPDF for Python提供免費試用許可證密鑰,允許用戶在購買前測試其廣泛功能。

在使用IronPDF包之前,將許可證密鑰放置在腳本的開頭:

from ironpdf import License

# Apply your license key
License.LicenseKey = "key"
from ironpdf import License

# Apply your license key
License.LicenseKey = "key"
PYTHON

結論

SQLite-utils 是一個用於處理 SQLite 資料庫的強大工具。 它提供 CLI 和 Python 庫。 無論您需要快速從命令行操作數據,還是將 SQLite 操作集成到您的 Python 應用中,SQLite 提供了一個靈活且易於使用的解決方案。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。