Was ist das Einfügen von Daten?
Stell dir vor, du hast gerade eine Uni gegründet. Du hast eine Datenbank mit Tabellen, zum Beispiel students für die Speicherung von Infos über Studierende. Jetzt ist es Zeit, bekanntzugeben, welche Studis aufgenommen wurden, und ihre Daten in die Tabelle einzutragen. In SQL benutzt du dafür den Befehl INSERT INTO. Damit kannst du eine neue Zeile in die Tabelle einfügen – so als würdest du in Excel eine neue Zeile ausfüllen, nur schneller, mächtiger und eben mit Code!
Das Hinzufügen von Daten ist nicht nur für die Basics wichtig. Es wird überall gebraucht – vom Speichern von Bestellungen im Online-Shop bis zur Speicherung von Transaktionsinfos in der Bank. Und bei Unis sind das eben Listen von Studierenden, Dozenten und auch einfach der Stundenplan.
Grundlegende Syntax von INSERT INTO
In SQL ist INSERT INTO der einfache Weg, eine neue Zeile in eine Tabelle zu packen. Schauen wir uns die Grundsyntax an:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
Erklärung der Komponenten:
table_name– der Name der Tabelle, in die du Daten einfügst.(column1, column2, column3, ...)– die Liste der Spalten, für die du Werte angibst.VALUES (value1, value2, value3, ...)– die Liste der Werte, die du in die jeweiligen Spalten einfügen willst.
Beispiel: Wir fügen eine:n neue:n Student:in in die Tabelle students ein. Angenommen, wir haben diese Tabelle:
| id | name | age | course |
|---|---|---|---|
| 1 | Otto Song | 18 | Mathematik |
Jetzt fügen wir mit INSERT INTO eine zweite Studentin hinzu:
INSERT INTO students (id, name, age, course)
VALUES (2, 'Anna Lin', 19, 'Informatik');
Nach dem Ausführen der Query sieht die Tabelle so aus:
| id | name | age | course |
|---|---|---|---|
| 1 | Otto Song | 18 | Mathematik |
| 2 | Anna Lin | 19 | Informatik |
Daten in alle Spalten einfügen
Wenn du Werte für alle Spalten der Tabelle einfügen willst, kannst du die Spaltennamen im INSERT INTO-Befehl weglassen. Das geht aber nur, wenn du für jede Spalte in der richtigen Reihenfolge einen Wert angibst.
Syntax:
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
Beispiel: Du fügst noch einen Studenten in die Tabelle students ein:
INSERT INTO students
VALUES (3, 'Dan Sim', 20, 'Physik');
Ergebnis:
| id | name | age | course |
|---|---|---|---|
| 1 | Otto Song | 18 | Mathematik |
| 2 | Anna Lin | 19 | Informatik |
| 3 | Dan Sim | 20 | Physik |
Allerdings kann das riskant sein, falls sich die Struktur der Tabelle mal ändert. Deshalb solltest du immer die Spaltenliste angeben, um Fehler zu vermeiden.
Praxis: Student:in hinzufügen
Probieren wir, eine:n neue:n Student:in in unsere students-Tabelle einzufügen und dabei das volle Potenzial von INSERT INTO zu nutzen.
Schritt 1: Aktuelle Daten checken
Bevor du loslegst, ist es praktisch, die Daten zu prüfen, die schon in der Tabelle stehen. Dafür nehmen wir SELECT:
SELECT * FROM students;
Schritt 2: Neue:n Student:in einfügen
Jetzt fügen wir Peter Chi hinzu, der im Kurs "Biologie" ist und 21 Jahre alt:
INSERT INTO students (id, name, age, course)
VALUES (4, 'Peter Chi', 21, 'Biologie');
Schritt 3: Prüfen, ob die Daten drin sind
Nochmal alle Daten abfragen:
SELECT * FROM students;
Ergebnis:
| id | name | age | course |
|---|---|---|---|
| 1 | Otto Song | 18 | Mathematik |
| 2 | Anna Lin | 19 | Informatik |
| 3 | Dan Sim | 20 | Physik |
| 4 | Peter Chi | 21 | Biologie |
Ziemlich cool, oder? Jetzt ist Peter in unserer Uni dabei.
Typische Fehler bei INSERT INTO
Spalten- und Werteliste passen nicht zusammen. Wenn du z.B. 4 Spalten angibst, aber nur 3 Werte einfügst, gibt SQL einen Fehler aus:
INSERT INTO students (id, name, age)
VALUES (5, 'Eva Green', 22, 'Chemie');
Fehler: Die Anzahl der Spalten stimmt nicht mit der Anzahl der Werte überein.
Verletzung von Constraints. Wenn eine Spalte einzigartig (UNIQUE) sein muss oder NOT NULL ist, führt ein Verstoß zu einem Fehler.
Datentypen.
Wenn du versuchst, Text in ein Zahlenfeld einzufügen, ist auch PostgreSQL nicht happy:
INSERT INTO students (id, name, age, course)
VALUES (5, 'Axel Linz', 'zwanzig', 'Chemie');
Warum braucht man das in echten Projekten?
Den INSERT INTO-Befehl zu kennen ist ein Skill, den du in fast allen Apps brauchst, die mit Datenbanken arbeiten. Im echten Leben nutzt du diesen Befehl für:
- Registrierung neuer User im System.
- Hinzufügen von Bestellungen in Online-Shops.
- Speichern von Zahlungsdaten in Payment-Systemen.
- Aktualisieren von täglichen Daten zu Studierenden, Anwesenheiten und Noten in Lernsystemen.
Immer wenn deine Apps mit Usern oder externen Datenquellen interagieren, ist INSERT INTO das Hauptwerkzeug, um diese Daten in die Datenbank zu schreiben.
Wenn du mit Backend-Apps arbeitest oder planst, APIs zur Datenverarbeitung zu bauen, ist das Einfügen von Daten per SQL ein Basic, aber mega wichtiger Skill!
GO TO FULL VERSION