sqlite utils python(開發人員工作原理)
《SQLite-utils》Python套件是一個多功能工具,包含用於操作SQLite資料庫的Python實用函式。 它提供了一個命令行接口(CLI)和一個Python程式庫,使得建立、操作和查詢SQLite資料庫變得容易。 讓我們深入了解其功能並看看一些程式碼範例。 在本文稍後,我們將探討IronPDF,這是一個由Iron Software開發的PDF生成程式庫。
SQLite-utils概述
SQLite-utils旨在簡化與操作SQLite資料庫相關的各種任務。 它的一些主要功能包括:
- 建立和管理資料庫:輕鬆建立新的資料庫和表。
- 插入和查詢資料:插入JSON資料、CSV或TSV文件並運行SQL查詢。
- 全文檢索:配置並運行全文檢索查詢。
- 模式轉換:執行SQLite的ALTER TABLE不直接支持的模式更改。
- 資料正規化:將列提取到單獨的表中以正規化資料。
- 自定義SQL函式:安裝插件以新增自定義SQL函式。
安裝
您可以使用pip安裝SQLite-utils。
pip install sqlite-utilspip install sqlite-utils或者,如果您在macOS上使用Homebrew:
brew install sqlite-utilsbrew install sqlite-utils用作CLI工具的SQLite-utils
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查詢資料
以下命令是您從資料庫中執行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列出表
列出資料庫中的所有表及其行數:
sqlite-utils tables dogs.db --countssqlite-utils tables dogs.db --counts用作Python程式庫的SQLite-utils
您還可以將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")查詢資料
您可以運行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)全文檢索
在表上啟用全文檢索並執行搜索查詢:
# 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)介紹 IronPDF

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")程式碼說明
這段程式碼結合了SQLite-utils Python套件和IronPDF程式庫的功能來管理SQLite資料庫並生成PDF文件。 以下是程式碼所做的逐步說明:
資料庫初始化:
- 使用SQLite-utils初始化名為"mydatabase.db"的SQLite資料庫。
表建立:
- 使用
age定義表模式。 - 使用定義的模式在SQLite資料庫中建立名為"users"的表。
- 使用
資料插入:
- 使用SQLite-utils將多條記錄插入到"users"表中。
資料查詢:
- 從"users"表中檢索所有記錄並建立資料的HTML表示。
- PDF 生成:
- 使用IronPDF建立PDF文件。
- 構建PDF文件的HTML內容,包括從SQLite資料庫檢索的標題和表資料。
- 將生成的PDF文件保存為"DemoSqliteUtils.pdf"。
總的來說,這段程式碼演示了如何利用SQLite-utils進行資料庫管理任務,如表建立、資料插入和查詢,並結合IronPDF從Python應用程式中來自SQLite資料庫的動態內容生成PDF文件。
輸出


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"結論
SQLite-utils是操作SQLite資料庫的強大工具。 它同時提供CLI和Python程式庫。 無論您需要從命令行快速操作資料,還是將SQLite操作整合到Python應用程式中,SQLite都提供了一個靈活且易於使用的解決方案。










