跳至页脚内容
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 从 Python 应用程序中来自 SQLite 数据库的动态内容生成 PDF 文档。

输出

sqlite utils Python (开发者如何使用): 图2 - 示例控制台输出

PDF

sqlite utils Python (开发者如何使用): 图3 - 示例使用 IronPDF 生成报表的 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"
PYTHON

结论

SQLite-utils 是一个用于处理 SQLite 数据库的强大工具。 它同时提供 CLI 和 Python 库。 无论您是需要从命令行快速操作数据,还是将 SQLite 操作集成到您的 Python 应用程序中,SQLite 都提供了一个灵活且易于使用的解决方案。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。