Inhalte
Mal wieder ein Codeschnipsel. Thema heute: SQL Befehle
Klassen
Grundsätzlich unterscheiden wir folgende SQL Sprachen:
- Definition von Tabellen und Datenstrukturen – DDL – Data Definition Language
- Kontrolle von Zugriffsberechtigungen – DCL – Data Control Language
- Datenmanipulation und Datenabfrage – DML – Data Manipulation Language
Grundwissen
In die CLI einloggen
mysql -u <user> -p
In einer Datenbank wechseln
use <Database>;
CLI beenden
Quit;
Abfragen
Einfache Abfrage aller Spalten einer Tabelle
SELECT * FROM Tablename;
Einfache Abfrage über bestimmte Spalten in einer Tabelle
SELECT Spalte1, Spalte2 FROM Tabelle;
Datensätze Zählen
SELECT COUNT(*) FROM Tabelle;
Eindeutige Datensätze zählen
SELECT COUNT(DISTINCT Spalte) FROM Tabelle;
Datenätze Abfragen und Filtern
SELECT * FROM Tabelle WHERE spalte = 'Wert';
Oder
SELECT * FROM Tabelle WHERE spalte1 LIKE 'Wert';
Mit logischen Operatoren
SELECT * FROM Tabelle WHERE spalte1 = 'Wert' AND spalte2 = 'Wert';
SELECT * FROM Tabelle WHERE spalte1 = 'Wert' OR spalte2 = 'Wert';
Datensätze Sortieren
Aufsteigend
SELECT * FROM Tabelle ORDER BY spalte1 ASC;
Absteigend
SELECT * FROM Tabelle ORDER BY spalte1 Desc;
Abfrage mit JOIN (Left JOIN)
SELECT Tabelle1.spalte1, Tabelle1.spalte2, Tabelle2.spalte1 FROM Tabelle1
LEFT JOIN Tabelle2 ON Tabelle2.Tabelle1_id = Tabelle1.id
Abfrage mit JOIN (Right JOIN)
SELECT Tabelle1.spalte1, Tabelle1.spalte2, Tabelle2.spalte1 FROM Tabelle1
RIGHT JOIN Tabelle2 ON Tabelle2.Tabelle1_id = Tabelle1.id
Datensätze hinzufügen
INSERT INTO Tabelle (spalte1, spalte2) VALUES ('Wert1', 'Wert2');
Alternativ
INSERT INTO Tabelle SET spalte1='Wert1', spalte2='Wert2';
Datensätze löschen
DELETE FROM Tabelle WHERE id = 2;
Datensätze Aktualisieren
UPDATE tabelle SET spalte1='Wert1', spalte2='Wert2' WHERE id=2