フッターコンテンツにスキップ
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が直接サポートしていないスキーマ変更を実行します。
  • データ正規化: 列を別のテーブルに抽出してデータを正規化します。
  • カスタム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

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")
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は、HTML、CSS、画像、JavaScriptを使用してPDFを作成、編集、署名するために設計された強力なPythonライブラリです。 低メモリフットプリントながら商用グレードのパフォーマンスを備えています。 主な機能は以下のとおりです:

HTMLからPDFへの変換:

HTMLファイル、HTML文字列、およびURLをPDFに変換します。 たとえば、Chrome PDFレンダラーを使用してウェブページをPDFとしてレンダリングします。

クロスプラットフォームサポート:

.NET Core、.NET Standard、.NET Frameworkを含むさまざまな.NETプラットフォームと互換性があります。 Windows、Linux、macOSをサポートしています。

編集と署名:

プロパティを設定し、パスワードと権限でセキュリティを追加し、PDFにデジタル署名を適用します。

ページテンプレートと設定:

PDFにヘッダー、フッター、ページ番号、および調整可能なマージンをカスタマイズできます。 さらに、カスタム用紙サイズおよびレスポンシブレイアウトをサポートします。

標準準拠:

PDF/AやPDF/UAを含むPDF標準に準拠し、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. テーブル作成:

    • id, name, ageの列を持つテーブルスキーマを定義します。
    • 定義されたスキーマを使用して、SQLiteデータベースに「users」という名前のテーブルを作成します。
  3. データ挿入:

    • SQLite-utilsを使用して「users」テーブルに複数のレコードを挿入します。
  4. データクエリ:

    • 「users」テーブルからすべてのレコードを取得し、データのHTML表現を作成します。
  5. PDF生成:
    • IronPDFを使用してPDFドキュメントを作成します。
    • SQLiteデータベースから取得したテーブルデータとヘッダーを含むPDFドキュメントのHTMLコンテンツを構築します。
    • 生成されたPDFドキュメントを「DemoSqliteUtils.pdf」として保存します。

全体として、このスクリプトは、テーブル作成、データ挿入、クエリなどのデータベース管理タスクにSQLite-utilsを活用し、PythonアプリケーションでのSQLiteデータベースからの動的コンテンツを基にしたPDFドキュメントの生成にIronPDFを組み合わせる方法を示しています。

出力

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ライブラリの両方を提供します。 コマンドラインからデータを迅速に操作する必要がある場合でも、PythonアプリケーションにSQLite操作を統合する必要がある場合でも、SQLiteは柔軟で使いやすいソリューションを提供します。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。