Zum Fußzeileninhalt springen
PYTHON-HILFE

sqlite3 python (Wie es für Entwickler funktioniert)

Das sqlite3-Modul in Python bietet eine Möglichkeit, mit SQLite-Datenbanken zu interagieren. Es ist Teil der Python Standardbibliothek, sodass Sie nichts Zusätzliches installieren müssen, um es zu verwenden. Lassen Sie uns seine Funktionen erkunden und einige Codebeispiele ansehen. Später in diesem Artikel werden wir uns IronPDF ansehen, eine PDF-Generierungsbibliothek, die von Iron Software entwickelt wurde.

SQLite ist eine leichtgewichtige, festplattenbasierte Datenbank, die keinen separaten Datenbankserverprozess erfordert. Das sqlite3-Modul bietet eine SQL-Schnittstellen-konforme Umgebung, um nahtlos mit einer vorhandenen oder neu erstellten Datenbank zu interagieren. Das Modul erzwingt die DB-API 2.0 Spezifikation, die durch PEP 249 beschrieben wird.

Grundlegende Nutzung

Hier ist ein einfaches Beispiel und mehrere SQL-Anweisungen, um Ihnen den Einstieg in sqlite3 zu erleichtern.

Verbindung zu einer Datenbank

Zuerst müssen Sie eine Verbindung zu Ihrer SQLite-Datenbank herstellen. Wenn die Datenbankdatei fehlt, wird sie generiert:

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()
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

Erstellen einer Tabelle

Verwenden Sie die SQL-Anweisung CREATE TABLE, um eine neue Datentabelle zu erstellen:

# Create a table using SQL statements
cur.execute('''
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY,
        name TEXT NOT NULL,
        age INTEGER
    )
''')
# Create a table using SQL statements
cur.execute('''
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY,
        name TEXT NOT NULL,
        age INTEGER
    )
''')
PYTHON

Daten einfügen

So fügen Sie Daten in die Datenbanktabelle ein:

# Insert data into the table
cur.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('Alice', 30))

# Commit the transaction using the connection object
conn.commit()
# Insert data into the table
cur.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('Alice', 30))

# Commit the transaction using the connection object
conn.commit()
PYTHON

Datenabfrage

Sie können SQL-Befehle ausführen und Ergebnisse aus der Datenbanktabelle abrufen:

# Query the database
cur.execute('SELECT * FROM users')

# Fetch all results
rows = cur.fetchall()

# Print the results
for row in rows:
    print(row)
# Query the database
cur.execute('SELECT * FROM users')

# Fetch all results
rows = cur.fetchall()

# Print the results
for row in rows:
    print(row)
PYTHON

Datenaktualisierung

Um vorhandene Daten in der Tabelle zu aktualisieren:

# Update data in the table
cur.execute('''
    UPDATE users SET age = ? WHERE name = ?
''', (31, 'Alice'))

# Commit the transaction
conn.commit()
# Update data in the table
cur.execute('''
    UPDATE users SET age = ? WHERE name = ?
''', (31, 'Alice'))

# Commit the transaction
conn.commit()
PYTHON

Datenlöschung

Um Daten aus den Datenbankzeilen zu löschen, in denen der Name Alice ist:

# Delete data from the table
cur.execute('''
    DELETE FROM users WHERE name = ?
''', ('Alice',))

# Commit the transaction
conn.commit()
# Delete data from the table
cur.execute('''
    DELETE FROM users WHERE name = ?
''', ('Alice',))

# Commit the transaction
conn.commit()
PYTHON

Die Verbindung schließen

Denken Sie daran, sowohl den Cursor als auch die Verbindung zu schließen, wenn Sie fertig sind:

# Close the cursor and connection
cur.close()
conn.close()
# Close the cursor and connection
cur.close()
conn.close()
PYTHON

Erweiterte Funktionen

Verwendung von Context Managern

Sie können Context-Manager verwenden, um die Verbindung automatisch zu schließen:

with sqlite3.connect('example.db') as conn:
    cur = conn.cursor()
    cur.execute('SELECT * FROM users')
    rows = cur.fetchall()
    for row in rows:
        print(row)
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

Verarbeitung von Transaktionen

SQLite unterstützt Transaktionen, und Sie können BEGIN, COMMIT und ROLLBACK verwenden, um sie zu verwalten:

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}")
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

Einführung in IronPDF

sqlite3 Python (Wie es für Entwickler funktioniert): Abbildung 1 - IronPDF: Die Python PDF-Bibliothek

IronPDF ist eine leistungsstarke Python-Bibliothek, die zum Erstellen, Bearbeiten und Signieren von PDFs unter Verwendung von HTML, CSS, Bildern und JavaScript entwickelt wurde. Sie bietet eine kommerzielle Leistung mit geringem Speicherbedarf. Hauptmerkmale sind:

HTML-zu-PDF-Konvertierung:

Konvertieren Sie HTML-Dateien, HTML-Zeichenketten und URLs in PDFs. Beispielsweise eine Webseite mithilfe des Chrome-PDF-Renderers als PDF rendern.

Plattformübergreifende Unterstützung:

Kompatibel mit verschiedenen .NET-Plattformen, einschließlich .NET Core, .NET Standard und .NET Framework. Es unterstützt Windows, Linux und macOS.

Bearbeiten und Signieren:

Eigenschaften festlegen, Sicherheit mit Passwörtern und Berechtigungen hinzufügen und digitale Signaturen auf Ihre PDFs anwenden.

Seitenvorlagen und Einstellungen:

Passen Sie PDFs mit Kopf- und Fußzeilen, Seitenzahlen und einstellbaren Rändern an. Unterstützt responsive Layouts und benutzerdefinierte Papierformate.

Einhaltung von Standards:

Erfüllt PDF-Standards wie PDF/A und PDF/UA, unterstützt UTF-8-Zeichenkodierung und verwaltet Ressourcen wie Bilder, CSS und Schriftarten.

Erstellen von PDF-Dokumenten mit IronPDF und SQLite3 Python

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 using the 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()

# Initialize PDF renderer
renderer = ChromePdfRenderer()

# Create a PDF from an HTML string using Python
content = "<h1>Awesome Iron PDF with Sqlite3</h1>"
content += "<p>table data</p>"

for row in rows:
    content += "<p>" + str(row) + "</p>"

# Close the cursor and connection
cur.close()
conn.close()

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

# Export to a file
pdf.SaveAs("DemoSqlite3.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 using the 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()

# Initialize PDF renderer
renderer = ChromePdfRenderer()

# Create a PDF from an HTML string using Python
content = "<h1>Awesome Iron PDF with Sqlite3</h1>"
content += "<p>table data</p>"

for row in rows:
    content += "<p>" + str(row) + "</p>"

# Close the cursor and connection
cur.close()
conn.close()

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

# Export to a file
pdf.SaveAs("DemoSqlite3.pdf")
PYTHON

Code-Erklärung

Dieses Python-Programm zeigt, wie die SQLite-Bibliothek verwendet wird, um eine Datenbank zu erstellen, Daten darin einzufügen, Abfragen durchzuführen, Datensätze zu aktualisieren, Datensätze zu löschen und schließlich ein PDF-Dokument mit IronPDF zu erstellen.

  1. Importieren von Bibliotheken:

    • sqlite3: Das integrierte Python-Modul zum Arbeiten mit SQLite-Datenbanken.
    • ironpdf: Importieren von Komponenten von IronPDF, die die PDF-Erstellung ermöglichen.
  2. Verbindung zur Datenbank:

    • Stellt eine Verbindung zu einer SQLite-Datenbank namens example.db her.
  3. Erstellen einer Tabelle:

    • Definiert eine SQLite-Tabelle users mit Spalten id (INTEGER, PRIMARY KEY), name (TEXT, NOT NULL) und age (INTEGER).
  4. Daten einfügen:

    • Mehrere Datenreihen in die users-Tabelle einfügen.
  5. Transaktionen ausführen:

    • Macht die Änderungen in der Datenbank dauerhaft.
  6. Abfrage der Datenbank:

    • Führt eine SELECT-Anweisung aus, um alle Zeilen aus der users-Tabelle abzurufen.
  7. Datenaktualisierung:

    • Aktualisiert das Alter eines Benutzers namens 'Alice'.
  8. Datenlöschung:

    • Löscht einen Benutzer namens 'IronUser1' aus der users-Tabelle.
  9. PDF-Erstellung:

    • Verwendet IronPDF (ChromePdfRenderer), um ein PDF-Dokument aus HTML-Inhalten zu erstellen.
    • Kombiniert Header- und Tabellendaten (aus der Datenbank abgerufen) in die HTML-Inhalte.
    • Speichert das PDF-Dokument als DemoSqlite3.pdf.
  10. Schließen der Verbindungen:
    • Schließt den Cursor (cur) und die Verbindung (conn), um Ressourcen freizugeben.

Dieses Skript zeigt einen vollständigen Workflow von der Datenbankeinrichtung über die Datenmanipulation bis hin zur PDF-Erstellung mit den Bibliotheken SQLite3 und IronPDF von Python.

Ausgabe

sqlite3 Python (Wie es für Entwickler funktioniert): Abbildung 2 - Beispiel Konsolenausgabe

PDF

sqlite3 Python (Wie es für Entwickler funktioniert): Abbildung 3 - Beispiel-PDF-Ausgabe, generiert mit IronPDF und sqlite zur Datenabfrage

IronPDF-Lizenz

IronPDF läuft mit einem Lizenzschlüssel. IronPDF für Python bietet einen kostenlosen Testlizenzschlüssel an, damit Benutzer die umfangreichen Funktionen vor dem Kauf testen können.

Platzieren Sie hier den Lizenzschlüssel:

import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";

// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";

// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
JAVASCRIPT

Abschluss

sqlite3 Python (Wie es für Entwickler funktioniert): Abbildung 4 - IronPDF-Lizenzierungsseite

Das sqlite3-Modul ist ein leistungsstarkes und einfach zu verwendendes Werkzeug, um mit SQLite-Datenbanken in Python zu arbeiten. Seine Integration in die Python-Standardbibliothek macht einfache und komplexe Datenbankoperationen bequem. IronPDF bietet eine Testlizenz an. Anschließend beginnt die Lizenz bei $799 und aufwärts.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen