sqlite3 Python (jak to działa dla programistów)
Moduł sqlite3 w języku Python umożliwia interakcję z bazami danych SQLite. Jest to część standardowej biblioteki języka Python, więc nie trzeba instalować żadnych dodatkowych programów, aby z niej korzystać. Przyjrzyjmy się jego funkcjom i zobaczmy kilka przykładów kodu. W dalszej części tego artykułu omówimy IronPDF, bibliotekę do generowania plików PDF opracowaną przez firmę Iron Software.
SQLite to lekka, dyskowa baza danych, która nie wymaga oddzielnego procesu serwera bazy danych. Moduł sqlite3 zapewnia środowisko zgodne z interfejsem SQL, umożliwiające płynną interakcję z istniejącą lub nowo utworzoną bazą danych. Moduł ten wymusza specyfikację DB-API 2.0 opisaną w PEP 249.
Podstawowe zastosowanie
Oto prosty przykład i kilka instrukcji SQL, które pomogą Ci rozpocząć pracę z sqlite3.
Łączenie się z bazą danych
Najpierw musisz połączyć się z bazą danych SQLite. Jeśli plik bazy danych nie istnieje, zostanie wygenerowany:
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()Tworzenie tabeli
Użyj instrukcji SQL CREATE TABLE, aby utworzyć nową tabelę danych:
# 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
)
''')Wstawianie danych
Oto jak wstawić dane do tabeli bazy danych:
# 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()Wyszukiwanie danych
Możesz uruchamiać polecenia SQL i pobierać wyniki z tabeli bazy danych:
# 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)Aktualizacja danych
Aby zaktualizować istniejące dane w tabeli:
# 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()Usuwanie danych
Aby usunąć dane z wierszy bazy danych, w których występuje imię Alice:
# 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()Zamykanie połączenia
Pamiętaj, aby po zakończeniu zamknąć zarówno kursor, jak i połączenie:
# Close the cursor and connection
cur.close()
conn.close()# Close the cursor and connection
cur.close()
conn.close()Zaawansowane funkcje
Korzystanie z menedżerów kontekstu
Możesz użyć menedżerów kontekstu, aby automatycznie zamknąć połączenie:
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)Obsługa transakcji
SQLite obsługuje transakcje, a do ich zarządzania można używać poleceń BEGIN, COMMIT i 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}")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}")Przedstawiamy IronPDF

IronPDF to potężna biblioteka języka Python przeznaczona do tworzenia, edytowania i podpisywania plików PDF przy użyciu HTML, CSS, obrazów i JavaScript. Oferuje wydajność na poziomie komercyjnym przy niewielkim zużyciu pamięci. Najważniejsze cechy to:
Konwersja HTML do PDF:
Konwertuj pliki HTML, ciągi znaków HTML i adresy URL na pliki PDF. Na przykład, renderuj stronę internetową jako plik PDF przy użyciu renderera PDF przeglądarki Chrome.
Obsługa wielu platform:
Kompatybilny z różnymi platformami .NET, w tym .NET Core, .NET Standard i .NET Framework. Obsługuje systemy Windows, Linux i macOS.
Redakcja i podpisanie:
Ustawiaj właściwości, dodawaj zabezpieczenia za pomocą haseł i uprawnień oraz stosuj podpisy cyfrowe w plikach PDF.
Szablony stron i ustawienia:
Dostosuj pliki PDF, dodając nagłówki, stopki, numery stron i regulowane marginesy. Obsługuje responsywne układy i niestandardowe rozmiary papieru.
Zgodność z normami:
Jest zgodny ze standardami PDF, takimi jak PDF/A i PDF/UA, obsługuje kodowanie znaków UTF-8 oraz zarządza zasobami, takimi jak obrazy, CSS i czcionki.
Generowanie dokumentów PDF przy użyciu IronPDF i SQLite3 w języku 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")Wyjaśnienie kodu
Ten program w języku Python pokazuje, jak używać biblioteki SQLite do tworzenia bazy danych, wstawiania do niej danych, wykonywania zapytań, aktualizowania rekordów, usuwania rekordów i wreszcie generowania dokumentu PDF przy użyciu IronPDF.
Importowanie bibliotek:
sqlite3: Wbudowany moduł języka Python do pracy z bazami danych SQLite.ironpdf: Importowanie komponentów z IronPDF, co umożliwia generowanie plików PDF.
Łączenie się z bazą danych:
- Nawiązuje połączenie z bazą danych SQLite o nazwie
example.db.
- Nawiązuje połączenie z bazą danych SQLite o nazwie
Tworzenie tabeli:
- Definiuje tabelę SQLite
usersz kolumnamiid(INTEGER, PRIMARY KEY),name(TEXT, NOT NULL) orazage(INTEGER).
- Definiuje tabelę SQLite
Wstawianie danych:
- Wstaw wiele wierszy danych do tabeli
users.
- Wstaw wiele wierszy danych do tabeli
Potwierdzanie transakcji:
- Zapisuje zmiany w bazie danych, aby były trwałe.
Wysyłanie zapytań do bazy danych:
- Wykonuje instrukcję SELECT w celu pobrania wszystkich wierszy z tabeli
users.
- Wykonuje instrukcję SELECT w celu pobrania wszystkich wierszy z tabeli
Aktualizacja danych:
- Aktualizuje
ageużytkownika o nazwie "Alice".
- Aktualizuje
Usuwanie danych:
- Usuwa użytkownika o nazwie "IronUser1" z tabeli
users.
- Usuwa użytkownika o nazwie "IronUser1" z tabeli
Generowanie plików PDF:
- Wykorzystuje IronPDF (
ChromePdfRenderer) do tworzenia dokumentów PDF na podstawie treści HTML. - Łączy dane nagłówków i tabel (pobrane z bazy danych) z treścią HTML.
- Zapisuje dokument PDF jako
DemoSqlite3.pdf.
- Wykorzystuje IronPDF (
- Zamykanie połączeń:
- Zamyka kursor (
cur) i połączenie (conn) w celu zwolnienia zasobów.
- Zamyka kursor (
Ten skrypt pokazuje kompletny przebieg pracy od konfiguracji bazy danych po przetwarzanie danych i generowanie plików PDF przy użyciu bibliotek SQLite3 i IronPDF w języku Python.
Wynik


Licencja IronPDF
IronPDF działa na podstawie klucza licencyjnego. IronPDF for Python oferuje bezplatną licencję probną, aby umożliwić użytkownikom przetestowanie jego rozbudowanych funkcji przed zakupem.
Umieść tutaj klucz licencyjny:
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";Wnioski

Moduł sqlite3 to potężne i łatwe w użyciu narzędzie do pracy z bazami danych SQLite w języku Python. Jego integracja z biblioteką standardową języka Python sprawia, że proste i złożone operacje na bazach danych stają się wygodne. IronPDF oferuje Licencję Trial. Następnie licencja zaczyna się od $799 i wyżej.










