Verbindungen herstellen und Tabellen erstellen
Eine Datenbank öffnen und ein Schema definieren
Verbindungen herstellen und Tabellen erstellen ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist sqlite3?
Python enthält das Modul sqlite3 in seiner Standardbibliothek. Damit können Sie mit SQLite arbeiten, einer schlanken, dateibasierten SQL-Datenbank, die keinen separaten Server benötigt.
- Keine Installation erforderlich
- Die gesamte Datenbank befindet sich in einer einzigen Datei
- Ideal für Prototypen, Tests und kleine Anwendungen
import sqlite3
print(sqlite3.version)Eine Verbindung zu einer Datenbank herstellen
Verwenden Sie sqlite3.connect(), um eine Datenbank zu öffnen. Wenn die Datei nicht existiert, erstellt SQLite sie.
Durch die Übergabe von ':memory:' erstellen Sie eine temporäre Datenbank im Arbeitsspeicher, die beim Schließen der Verbindung verschwindet.
import sqlite3
conn = sqlite3.connect(':memory:')
print('Connected:', conn)
conn.close()Das Cursor-Objekt
Um SQL auszuführen, benötigen Sie einen Cursor. Rufen Sie conn.cursor() auf, um einen zu erhalten, und verwenden Sie anschließend cursor.execute(), um SQL-Anweisungen zu senden.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
print('Cursor ready:', cur)
conn.close()Eine Tabelle erstellen
Definieren Sie ein Schema mit CREATE TABLE. Jede Spalte benötigt einen Namen und einen Typ wie INTEGER, TEXT oder REAL.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER, name TEXT, age INTEGER)')
print('Table created')
conn.close()Primärschlüssel
Ein Primärschlüssel identifiziert jede Zeile eindeutig. Wenn Sie INTEGER PRIMARY KEY deklarieren, erhöht SQLite den Wert automatisch für Sie.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE books (id INTEGER PRIMARY KEY, title TEXT)')
print('books table ready')
conn.close()IF NOT EXISTS
Wenn Sie CREATE TABLE zweimal ausführen, tritt ein Fehler auf. Fügen Sie IF NOT EXISTS hinzu, damit die Anweisung wiederholt und sicher ausgeführt werden kann.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
sql = 'CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, body TEXT)'
cur.execute(sql)
cur.execute(sql)
print('No error on second run')
conn.close()Spalten-Constraints
Constraints setzen Datenregeln auf Datenbankebene durch.
NOT NULLerfordert einen WertUNIQUEverhindert DuplikateDEFAULTstellt einen Ersatzwert bereit
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE accounts (id INTEGER PRIMARY KEY, email TEXT NOT NULL UNIQUE, active INTEGER DEFAULT 1)')
print('accounts table with constraints')
conn.close()Das Schema untersuchen
SQLite speichert Informationen zum Schema in sqlite_master. Fragen Sie diese Tabelle ab, um Ihre Tabellen aufzulisten.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)')
cur.execute("SELECT name FROM sqlite_master WHERE type='table'")
print(cur.fetchall())
conn.close()In einer Datei speichern
Um Daten dauerhaft zu speichern, übergeben Sie einen Dateinamen an connect(). Die Datenbank bleibt auch nach dem Ende Ihres Programms erhalten.
Sie müssen conn.commit() aufrufen, um Änderungen auf die Festplatte zu schreiben.
import sqlite3
conn = sqlite3.connect('app.db')
cur = conn.cursor()
cur.execute('CREATE TABLE IF NOT EXISTS items (id INTEGER PRIMARY KEY, name TEXT)')
conn.commit()
print('Saved to app.db')
conn.close()Eine Tabelle löschen
Entfernen Sie eine Tabelle mit DROP TABLE. Verwenden Sie IF EXISTS, um Fehler zu vermeiden, wenn die Tabelle bereits gelöscht wurde.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE temp (id INTEGER)')
cur.execute('DROP TABLE IF EXISTS temp')
print('Dropped temp table')
conn.close()Die Verbindung immer schließen
Geöffnete Verbindungen halten Dateihandles offen. Schließen Sie sie nach Abschluss immer mit conn.close(), oder verwenden Sie einen with-Block für die automatische Bereinigung.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE t (id INTEGER)')
conn.close()
print('Connection closed cleanly')Kurze Überprüfung
Testen Sie Ihr Verständnis vom Erstellen von Tabellen.
Zusammenfassung
Sie haben die Grundlagen von sqlite3 kennengelernt.
connect()öffnet (oder erstellt) eine Datenbankdateicursor()liefert Ihnen ein Objekt zum Ausführen von SQLCREATE TABLEdefiniert das Schema mit Datentypen und Constraintscommit()speichert Änderungen dauerhaft undclose()gibt die Verbindung frei
Als Nächstes werden Sie Zeilen einfügen und auslesen.
Häufig gestellte Fragen
Ist die Lektion „Verbindungen herstellen und Tabellen erstellen“ kostenlos?
Ja — der vollständige Text von „Verbindungen herstellen und Tabellen erstellen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Verbindungen herstellen und Tabellen erstellen“?
Eine Datenbank öffnen und ein Schema definieren Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Python Academy zu starten?
Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Verbindungen herstellen und Tabellen erstellen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?
Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Verbindungen herstellen und Tabellen erstellen
- Insert, Select, Update, Delete
- Parametrisierte Abfragen
- Transaktionen und Context Manager