Die wichtigsten Befehle zum Selektion und zur Bearbeitung von Datensätzen in MySQL

Um Datensätze zu bearbeiten wird bei MySQL, und den meisten anderen SQL Datenbanken die DML (Data Manipulation Language) oder ein Dialekt davon verwendet. Dieser Beitrag fasst die gängigsten Befehle zur Bearbeitung von Datensätzen mit dem MySQL Command-Line Tool  zusammen.

MySQL Command-Line Tool aufrufen

mysql -u root -p

Hinweis: Bei den unten genannten Befehlen wird davon ausgegangen, dass die jeweilige Datenbank mit „use datenbankname“ bereits ausgewählt wurde. Alternativ lassen sich Tabellen auch mit folgender Syntax auch ohne Vorauswahl der Datenbank ansprechen.

datenbankname.tabellenname

Beispiel

SELECT * FROM datenbankname.tabellenname;

Auch die Selektion von bestimten Spalten (Feldern) ist auf direktem Wege möglich.

datenbankname.tabellenname.feldname

Beispiel

SELECT datenbankname.tabellenname.feldname from datenbankname.tabellenname

Daten in Tabelle schreiben

INSERT INTO tabellenname VALUES ('Wert1','Wert2','Wert3');

oder etwas spezifischer …

INSERT INTO tabellenname (Spalte1,Spalte2,Spalte3) VALUES ('Wert1','Wert2','Wert3');

Datensätze korrigieren

UPDATE tabellenname SET Feld1 = 'Wert1' WHERE Vergleichsausdruck

Beispiel

In der Tabelle ist „Max Muttermann“ anstatt „Maximilian Mustermann“ hinterlegt. Das soll nun geändert werden.

UPDATE tabellenname SET Name = 'Mustermann', Vorname = 'Maximilian"'WHERE Name='Muttermann' AND Vorname = 'Max';

Datensätze löschen

DELETE FROM tabellenname WHERE Feld1 = "Wert1";

Beispiel

DELETE FROM tabellenname WHERE Name = "Mustermann";

Komplette Tabelle leeren

DELETE FROM tabellenname;

Alternativ kann zum Löschen des Inhalts einer Tabelle auch TRUNCATE verwendet werden.

TRUNCATE TABLE tabellenname;

Einfache Abfragen mit SELECT

Alle Datensätze einer Tabelle anzeigen

SELECT * FROM tabellenname;

Bestimmte Felder (Spalten) einer Tabelle anzeigen

SELECT Feld1, Feld2, Feld5 FROM tabellenname;

Bestimmte Datensätze (Zeilen) einer Tabelle anzeigen

SELECT * FROM tabellenname WHERE Feld1 = 'Wert' AND Feld2 = 'Wert'

Datensätze sortiert ausgeben

SELECT * FROM tabellenname ORDER BY Feld1;

Spalten-Alias vergeben

Mit „AS“ lassen sich zudem andere Spaltentitel als den Originaltitel bei der Ausgabe anzeigen.

Beispiel

SELECT Vorname, Name AS Nachname FROM tabellenname;

Operatoren AND, OR und NOT

Über die logischen Operatoren AND, OR und NOT können weitere Bedingungen zu einer Abfrage hinzugefügt werden.

Beispiele

SELECT Vorname, Name FROM tabellenname WHERE Name = 'Mustermann' AND Vorname = 'Max';
SELECT Vorname, Name FROM tabellenname WHERE Name = 'Mustermann' OR Name = 'Musterfrau';
SELECT Vorname, Name FROM tabellenname WHERE NOT Vorname = 'Max';

Komplexere Abfragen mit SELECT

Angenommen eine Mitarbeiter Tabelle namens Mitarbeiter (Primärschlüssel = Mitarbeiter_ID) enthält alle relevanten Daten zu den Mitarbeitern, wie Name, Vorname, Geburtsdatum etc., die Postleitzahlen und Wohnorte liegen jedoch, um Dopplungen zu vermeiden, in einer anderen Tabelle namens Wohnort (Primärschlüssel = Postleitzahl). Um eine „kombinierte“ Ausgabe zu bekommen müssen die beiden Tabellen „verknüpft“ werden. Der Befehl zur Auswahl und Auflistung der Mitarbeiter und deren Adresse sieht dann folgendermaßen aus:

SELECT Mitarbeiter.Vorname, Mitarbeiter.Name, Mitarbeiter.Strasse, Mitarbeiter.Postleitzahl, Wohnort.Wohnort FROM Mitarbeiter, Wohnort WHERE Mitarbeiter.Postleitzahl = Wohnort.Postleitzahl;

Im oben genannten Beispiel werden die Spalte mit dem Fremdschlüssel der ersten Tabelle, mit der Spalte des Primärschlüssels der zweiten Tabelle gleichgesetzt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.