DB Kurs Naechste Lektion

Lektion 04 - Factsheet

SQL Factsheet: Die wichtigsten Befehle

Dieses Factsheet ist dein schnelles Nachschlageblatt. Nutze es beim Ueben in phpMyAdmin, im SQL-Tab oder spaeter direkt in PHP.

1. Datenbank und Tabellen erstellen

CREATE DATABASE coding_learning;
USE coding_learning;

CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100) NOT NULL,
  email VARCHAR(255) NOT NULL UNIQUE,
  points INT NOT NULL DEFAULT 0
);

2. SELECT: Daten lesen

SELECT * FROM users;

SELECT name, email
FROM users;

SELECT name, points
FROM users
WHERE points >= 50
ORDER BY points DESC;
TeilBedeutung
SELECTWelche Spalten sollen angezeigt werden?
FROMAus welcher Tabelle?
WHEREWelche Bedingung?
ORDER BYWie sortieren?

3. INSERT: Daten einfuegen

INSERT INTO users (name, email, points)
VALUES ('Mina', 'mina@example.com', 80);

INSERT INTO users (name, email)
VALUES ('Alex', 'alex@example.com');

4. UPDATE: Daten aendern

UPDATE users
SET points = points + 10
WHERE id = 1;

UPDATE users
SET email = 'new@example.com'
WHERE id = 2;

Wichtig: UPDATE fast immer mit WHERE benutzen. Ohne WHERE aenderst du alle Datensaetze.

5. DELETE: Daten loeschen

DELETE FROM users
WHERE id = 3;

Auch DELETE fast immer mit WHERE. Ohne Bedingung wird die Tabelle geleert.

6. JOIN: Tabellen verbinden

SELECT users.name, courses.title
FROM enrollments
JOIN users ON enrollments.user_id = users.id
JOIN courses ON enrollments.course_id = courses.id;

Ein JOIN verbindet Tabellen ueber Schluessel. Hier wird gezeigt, welcher User in welchem Kurs ist.

7. Aggregationen: zaehlen und berechnen

SELECT COUNT(*) AS user_count
FROM users;

SELECT AVG(points) AS average_points
FROM users;

SELECT course_id, COUNT(*) AS lesson_count
FROM lessons
GROUP BY course_id;

8. Nuetzliche Operatoren

OperatorBeispiel
=WHERE id = 1
<>WHERE status <> 'done'
>=WHERE points >= 50
LIKEWHERE name LIKE 'Mi%'
INWHERE id IN (1, 2, 3)
BETWEENWHERE points BETWEEN 50 AND 100
IS NULLWHERE completed_at IS NULL

9. Mini-Uebungen

  1. Schreibe ein SELECT fuer alle User.
  2. Schreibe ein SELECT fuer User mit mindestens 50 Punkten.
  3. Fuege einen neuen Kurs ein.
  4. Erhoehe Punkte eines Users um 10.
  5. Loesche eine Aufgabe mit bestimmter ID.
  6. Schreibe einen Join zwischen courses und lessons.
Weiter zu vielen SQL-Uebungen