PYTHON ヘルプ

sqlite3 Python (開発者のための仕組み)

更新済み 8月 13, 2024
共有:

について sqlite3 モジュールはSQLiteデータベースと対話する方法を提供します。 Python Standard Libraryの一部なので、使うために余計なものをインストールする必要はない。 その機能とコード例を見てみよう。 この記事の後半では、IronSoftwareによって開発されたPDF生成ライブラリIronPDFについて説明する。

イントロダクション

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 は、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、フォントなどのアセットを管理します。

PythonでIronPDFとSQLite3を使って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:SQLite データベースを扱うための Python 組み込みモジュールです。
    • ironpdf:IronPDFからコンポーネントをインポートすることで、PDFを生成することができます。 **データベースに接続する。
    • example3.db`という名前のSQLiteデータベースに接続します。 **テーブルの作成
    • idカラムを持つSQLiteテーブルを定義します。 (整数、主キー)♪名前 (TEXT, NOT NULL)そして (INTEGER).4. **データの挿入
    • ユーザテーブルに複数行のデータを挿入する。
    • 変更を永続化するためにデータベースにコミットする。
    • SELECT 文を実行し、"users "テーブルからすべての行を取得する。 **データの更新
    • Aliceというユーザーのageを更新する。 **データを削除する。
    • IronUser1」という名前のユーザーを「IronUser1」テーブルから削除する。
    • IronPDFを使用しています。 (\ChromePdfRenderer。) を使用して、HTMLコンテンツからPDF文書を作成します。
    • ヘッダーとテーブルのデータを組み合わせる (データベースから検索) をHTMLコンテンツに追加する。
    • PDF文書を「DemoSqlite3.pdf」として保存します。 **カーソルを閉じる。 (\cur) と接続 (\コンコン) リソースを解放する。

    このスクリプトはPythonのSQLite3とIronPDFライブラリを使用したデータベースのセットアップからデータ操作、PDF生成までの完全なワークフローを示します。

出力

sqlite3 Python (開発者向けの仕組み):図2 - コンソール出力の例

PDF

sqlite3 Python (開発者向けの仕組み):図3 - IronPDFからsqliteでデータをクエリして生成されたPDF出力の例

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 インストール View Licenses >