Insert, Select, Update, Delete
CRUD-Operationen ausführen
Insert, Select, Update, Delete ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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.
CRUD-Operationen
Die vier grundlegenden Datenbankaktionen sind Create, Read, Update, Delete (CRUD). In SQL entsprechen sie INSERT, SELECT, UPDATE und DELETE.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
print('Ready for CRUD')
conn.close()Eine Zeile einfügen
Verwenden Sie INSERT INTO, um eine Zeile hinzuzufügen. Listen Sie zuerst die Spalten und anschließend die zugehörigen Werte auf.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
cur.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
print('Inserted Alice')
conn.close()Alle Zeilen auslesen
SELECT * liest jede Spalte aus. Verwenden Sie fetchall(), um eine Liste aller Zeilen als Tupel zu erhalten.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
cur.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
cur.execute("INSERT INTO users (name, age) VALUES ('Bob', 25)")
cur.execute('SELECT * FROM users')
print(cur.fetchall())
conn.close()Eine Zeile abrufen
fetchone() gibt eine einzelne Zeile zurück oder None, wenn keine weiteren Zeilen vorhanden sind. Das ist praktisch, wenn Sie genau ein Ergebnis erwarten.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)')
cur.execute("INSERT INTO users (name) VALUES ('Alice')")
cur.execute('SELECT * FROM users')
print(cur.fetchone())
conn.close()Bestimmte Spalten auswählen
Statt * geben Sie die gewünschten Spalten an. Das ist schneller und übersichtlicher.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
cur.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
cur.execute('SELECT name FROM users')
print(cur.fetchall())
conn.close()Mit WHERE filtern
Die WHERE-Klausel beschränkt, welche Zeilen betroffen sind oder zurückgegeben werden.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
cur.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
cur.execute("INSERT INTO users (name, age) VALUES ('Bob', 25)")
cur.execute('SELECT name FROM users WHERE age > 28')
print(cur.fetchall())
conn.close()Zeilen aktualisieren
UPDATE ändert vorhandene Daten. Fügen Sie immer eine WHERE-Klausel hinzu, sonst werden alle Zeilen aktualisiert.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
cur.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
cur.execute("UPDATE users SET age = 31 WHERE name = 'Alice'")
cur.execute('SELECT age FROM users')
print(cur.fetchone())
conn.close()Zeilen löschen
DELETE FROM entfernt Zeilen. Wie bei UPDATE benötigen Sie eine WHERE-Klausel, um bestimmte Zeilen auszuwählen.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)')
cur.execute("INSERT INTO users (name) VALUES ('Alice')")
cur.execute("INSERT INTO users (name) VALUES ('Bob')")
cur.execute("DELETE FROM users WHERE name = 'Bob'")
cur.execute('SELECT * FROM users')
print(cur.fetchall())
conn.close()Betroffene Zeilen zählen
Nach UPDATE oder DELETE gibt cursor.rowcount an, wie viele Zeilen geändert wurden.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)')
cur.execute("INSERT INTO users (name) VALUES ('Alice')")
cur.execute("INSERT INTO users (name) VALUES ('Bob')")
cur.execute('DELETE FROM users')
print('Deleted rows:', cur.rowcount)
conn.close()The lastrowid
Nach einem INSERT liefert cursor.lastrowid den automatisch erzeugten Primärschlüssel der neuen Zeile.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)')
cur.execute("INSERT INTO users (name) VALUES ('Alice')")
print('New id:', cur.lastrowid)
conn.close()Ergebnisse sortieren
Fügen Sie ORDER BY hinzu, um zu sortieren. Verwenden Sie ASC für aufsteigende (Standardeinstellung) oder DESC für absteigende Reihenfolge.
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)')
cur.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
cur.execute("INSERT INTO users (name, age) VALUES ('Bob', 25)")
cur.execute('SELECT name FROM users ORDER BY age DESC')
print(cur.fetchall())
conn.close()Kurze Überprüfung
Testen Sie Ihr CRUD-Wissen.
Zusammenfassung
Sie haben vollständige CRUD-Operationen mit SQLite geübt.
INSERT INTOfügt Zeilen hinzu;lastrowidliefert die neue IDSELECTliest Daten mitfetchone()oderfetchall()ausUPDATEundDELETEändern Zeilen, immer zusammen mitWHEREORDER BYsortiert die Ergebnisse
Häufig gestellte Fragen
Ist die Lektion „Insert, Select, Update, Delete“ kostenlos?
Ja — der vollständige Text von „Insert, Select, Update, Delete“ 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 „Insert, Select, Update, Delete“?
CRUD-Operationen ausführen 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 2 von 4.
Wie lange dauert die Lektion „Insert, Select, Update, Delete“?
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