MySQL-Befehle (Die 7 wichtigsten + Codebeispiele)

Als Datenbankadministrator ist das Verständnis der MySQL-Befehle entscheidend für die effiziente Verwaltung von Datenbanken. MySQL wird aufgrund seiner Flexibilität, Zuverlässigkeit und Leistungsfähigkeit häufig als Datenbankmanagementsystem eingesetzt. Ob Sie nun Anfänger oder erfahrener Datenbankadministrator sind, die Beherrschung der wichtigsten MySQL-Befehle ist der Schlüssel zu einem reibungslosen Betrieb. In diesem Artikel werden wir die 10 wichtigsten MySQL-Befehle für die Datenbankverwaltung vorstellen. Vom Erstellen von Tabellen und Ändern von Daten bis hin zum Sichern und Wiederherstellen von Datenbanken – mit diesen Befehlen verfügen Sie über das Wissen und die Fähigkeiten, die Sie benötigen, um Ihre Datenbanken effektiv und einfach zu verwalten. Machen Sie sich also bereit, in die Welt der MySQL-Befehle einzutauchen und Ihre Fähigkeiten in der Datenbankverwaltung auf die nächste Stufe zu heben!

Einführung in MySQL-Befehle

MySQL ist ein relationales Datenbankverwaltungssystem, das auf einer SQL-Plattform (Structured Query Language) basiert. Es ist einfach zu installieren und zu verwenden und bietet eine breite Palette von Funktionen, die es zu einem der beliebtesten Datenbankverwaltungssysteme auf dem Markt machen. Als Datenbankadministrator müssen Sie grundlegende Befehle wie die Erstellung von Datenbanken, Tabellen und Benutzern sowie die Verwaltung von Zugriffsrechten und Berechtigungen beherrschen.

Erstellen einer MySQL-Datenbank (CREATE DATABASE)

Die Erstellung einer Datenbank ist einer der wichtigsten Schritte bei der Verwaltung von Daten in MySQL. Sie können eine neue Datenbank erstellen, indem Sie den Befehl `CREATE DATABASE` verwenden, gefolgt von dem Namen der Datenbank. Zum Beispiel, um eine Datenbank mit dem Namen `meineDatenbank` zu erstellen, geben Sie einfach den folgenden Befehl ein:

CREATE DATABASE meineDatenbank;

Erstellen von Tabellen in MySQL (CREATE TABLE)

Nachdem Sie eine Datenbank erstellt haben, müssen Sie Tabellen erstellen, um Ihre Daten effektiv zu organisieren und zu verwalten. Sie können eine neue Tabelle erstellen, indem Sie den Befehl `CREATE TABLE` verwenden, gefolgt von dem Namen der Tabelle und den Spalteninformationen. Zum Beispiel, um eine Tabelle mit dem Namen `meineTabelle` und den Spalten `id`, `name` und `alter` zu erstellen, geben Sie den folgenden Befehl ein:

CREATE TABLE meineTabelle (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
alter INT(11) NOT NULL,
PRIMARY KEY (id)
);

Dieser Befehl erstellt eine Tabelle mit dem Namen `meineTabelle` und den Spalten `id`, `name` und `alter`. Die `id`-Spalte ist als Primärschlüssel definiert, um sicherzustellen, dass jeder Datensatz in der Tabelle eindeutig ist.

Einfügen von Daten in MySQL-Tabellen (INSERT INTO)

Nachdem Sie eine Tabelle erstellt haben, müssen Sie Daten in die Tabelle einfügen, um sie zu speichern und zu organisieren. Sie können Daten in eine Tabelle einfügen, indem Sie den Befehl `INSERT INTO` verwenden, gefolgt vom Namen der Tabelle und den Werten, die Sie einfügen möchten. Zum Beispiel, um einen Datensatz mit den Werten `1`, `Max Mustermann` und `35` in die Tabelle `meineTabelle` einzufügen, geben Sie den folgenden Befehl ein:

INSERT INTO meineTabelle (id, name, alter) VALUES (1, 'Max Mustermann', 35);

Abrufen von Daten aus MySQL-Tabellen (SELECT)

Nachdem Sie Daten in eine Tabelle eingefügt haben, müssen Sie sie abrufen, um sie anzuzeigen oder weiter zu verarbeiten. Sie können Daten aus einer Tabelle abrufen, indem Sie den Befehl `SELECT` verwenden, gefolgt von den Spaltennamen und dem Namen der Tabelle. Zum Beispiel, um alle Datensätze aus der Tabelle `meineTabelle` abzurufen, geben Sie den folgenden Befehl ein:

SELECT * FROM meineTabelle;

Dieser Befehl gibt alle Datensätze aus der Tabelle `meineTabelle` zurück.

Aktualisieren von Daten in MySQL-Tabellen (UPDATE)

Nachdem Sie Daten in einer Tabelle eingegeben haben, müssen Sie sie möglicherweise aktualisieren, um Änderungen widerzuspiegeln. Sie können Daten in einer Tabelle aktualisieren, indem Sie den Befehl `UPDATE` verwenden, gefolgt von dem Namen der Tabelle, den zu aktualisierenden Spalten und den neuen Werten. Zum Beispiel, um den Namen des Datensatzes mit der `id` von 1 in `Max Muster` zu ändern, geben Sie den folgenden Befehl ein:

UPDATE meineTabelle SET name = 'Max Muster' WHERE id = 1;

Löschen von Daten aus MySQL-Tabellen (DELETE FROM)

Nachdem Sie Daten in einer Tabelle eingegeben haben, müssen Sie sie möglicherweise löschen, um Platz zu schaffen oder um veraltete oder irrelevante Daten zu entfernen. Sie können Daten aus einer Tabelle löschen, indem Sie den Befehl `DELETE` verwenden, gefolgt vom Namen der Tabelle und der Bedingung, die erfüllt sein muss, um die Datensätze zu löschen. Zum Beispiel, um alle Datensätze aus der Tabelle `meineTabelle` zu löschen, geben Sie den folgenden Befehl ein:

DELETE FROM meineTabelle;

Dieser Befehl löscht alle Datensätze aus der Tabelle `meineTabelle`.

Löschen einer MySQL-Datenbank (DROP DATABASE)

Wenn Sie eine Datenbank nicht mehr benötigen, können Sie sie löschen, um Speicherplatz freizugeben und Ihre Serverressourcen besser zu nutzen. Sie können eine Datenbank löschen, indem Sie den Befehl `DROP DATABASE` verwenden, gefolgt vom Namen der Datenbank. Zum Beispiel, um die Datenbank `meineDatenbank` zu löschen, geben Sie den folgenden Befehl ein:

DROP DATABASE meineDatenbank;

Fazit

MySQL ist ein leistungsstarkes und flexibles Datenbankverwaltungssystem, das eine Vielzahl von Funktionen bietet, um Daten effektiv zu organisieren und zu verwalten. Die Beherrschung der wichtigsten MySQL-Befehle ist entscheidend für die effiziente Verwaltung von Datenbanken. In diesem Artikel haben wir Ihnen die 10 wichtigsten MySQL-Befehle für die Datenbankverwaltung vorgestellt, von der Erstellung von Datenbanken und Tabellen bis hin zur Sicherung und Wiederherstellung von Datenbanken. Mit diesen Befehlen können Sie Ihre Datenbanken effektiv und einfach verwalten und Ihre Daten sicher und geschützt aufbewahren.

Was ist eigentlich eine Datenbank?

Datenbanken, Datenhaltungsschicht und Datenbankensysteme (hier als Synonyme zu verstehen) finden viele unterschiedliche Anwendungsbereiche.

Datenbanken kann man sich vorstellen wie große Exceltabellen. Die Möglichkeit mit DLL & DML (Befehle mit einer bestimmten Syntax zur Manipulation von Daten wtc.) Daten auszugeben und zu ändern ist auf das Datenbankmanagementsystem zurückzuführen und erleichtert die Arbeit ungemein. Eine strukturierte Logik hinter einer übersichtlichen Eingabemaske macht die Verwendung einer Datenbank attraktiv. Daten können in großen Massen bequem ausgelesen, eingegeben und verändert werden.

Konkrete Einsatzgebiete :

Hinter dem Betriebsystem Windows und Mac OS befinden sind zahlreiche große Datenbanken mit unzähligen Tabellen. Angefangen von der Tabelle, welche die einzelnen Benutzerkonten des PCs speichert, über die Tabelle in der unser Verlauf im Browser gespeichert ist bis hin zur Verwaltung der Daten auf unseren Festplatten.Desweiteren braucht fast jedes Programm, das auf unseren PCs läuft eine Datenbank, Word greift z.B. auf eine Font-Datenbank zu, in der die verschiedenen Fonts gespeichert sind. In einem Netzwerk können zentral Daten auf einem Server gespeichert werden, so z.B. zentrale Dateien wie Login-Daten in einem Hochschul- oder Firmennetzwerk. Ein größeren Aufgabenbereich können Datenbanksysteme in großen Unternehmen abdecken. Im Krankenhaus zum Beispiel, speichern Sie die Schichtpläne von Ärzten, Patientenakten, Röntgen-und MRT Bilder, etc… von daher ist es in vielen Aufgabenbereichen essentiell, dass ein DBMS eine sehr gute Erreichbarkeit hat. Die Geschwindigkeit ist in diesem Fall zweitrangig.

Der Einsatz eines DBMS auf einem Server im Internet, mit mehreren hunderttausend Zugriffen / Tag wie z.B. bei großen Online-Kaufhäusern um deren Artikeldaten zu speichern stellt wiederrum ganz andere Anforderungen. Hier ist die Geschwindigkeit ein wichtiges Bewertungskriterium.

Infos zur Zusammenfassung:

Die folgende Zusammenfassung bietet einen groben Überblick über die Syntax von SQL Befehlen. Desweiteren wird die Begrifflichkeit einer Datenbank erläutert. Diese Zusammenfassung ist sehr komprimiert gehalten und beinhaltet Halbwissen. Deshalb rate ich, dass Sie nur als Nachschlagewerk für neugierige benutzt wird, die schon ein wenig Grundlagen in der Materie Datenbanken sammeln konnten. Mit PHP kannst du dann auf die Inhalte von Datenbanken zugreifen und sie mittels HTML ausgeben.

Definition – SQL: (stark gekürzt) SQL ist eine Sprache um in Datenbanken Tabellen und allgemeine Strukturen zu erstellen, Werte einzufügen, zu ändern oder zu löschen. Die Syntax von SQL ist simpel und logisch aufgebaut, findet teilweise Anlehnung an anderen, höheren Programmiersprachen und stützt sich genau wie diese, an die englische Sprache.

 

SQL Befehle / Selektionen

SELECT tabelle123.attribut456

Wird Projektion genannt , gibt den Inhalt von „attribut456“ aus

Man kann auch lediglich schreiben:

SELECT attribut456

Dann darf aber nur in einer der Tabellen, die hinter FROM stehen das Attribut mit dem Namen „attribut456“ vorhanden sein.

SELECT DISTINCT attribut456

Sorgt dafür, dass keine doppelten Zeilen ausgegeben werden

SELECT attribut456
FROM tabelle123

Es wird nach dem attribut456 gesucht, und das nur in der Tabelle „tabelle123“

Selektionsbedingung WHERE:

SELECT attribut456
WHERE attribut456 [Bedingung (= < >…)] WERT

Bsp:

WHERE Haarfarbe = ‘braun’

WHERE Vermögen >= 50000

WHERE Name = ‚Müller‘

WHERE Name LIKE ‘M?ller’

WHERE Name LIKE ‘M%‘

WHERE Haarfarbe IN (‘schwarz’, ‘braun’, ‘rot’)

Selektionsbedingungen können wie beim vielen Programmiersprachen logisch mit AND verknüpft werden:

WHERE Haarfarbe = ‘braun’ AND Vermögen >= 50000

desweiteren ist eine Negation von Selektionsbedingungen möglich:

WHERE Haarfarbe = ‘braun’ AND NOT Vermögen >= 50000

Ergebnisrelation enthält nur Zeilen von braunhaarigen mit einem Gehalt unter 50000

SELECT tabelle123.attribut456 AS attr 

Umbenennung des Attributs „attribut456“ in den Namen „attr“ Diesen Namen kann man von nun an weiter im SQL Befehl benutzen

oder

SELECT tab.attribut456 AS attr FROM tabelle123 AS tab

Umbenennung der Tabelle “tabelle123” in den Namen “tab” Funktioniert auch rückwirkend in der SELECT Anweisung

SELECT attribut456
WHERE attribut456 *Bedingung (= < >…)+ WERT
ORDER BY attribut456 desc

ORDER BY = Sortierung
ASC = aufsteigend
DESC = absteigend

UNION

SELECT attribut123
FROM tabelle345
WHERE Bedingung = Wert
UNION
SELECT attribut678
FROM tabelle901

Eine “Ergebnistabelle” in der die Attribute attribut123 und attribut678 in identischen Spalten stehen

CREATE TABLE tabelle123(
 id INTEGER NOT NULL,
Name VARCHAR(40) NOT NULL,
PRIMARY KEY (id),
CONSTRAINT FK_tab1_tab2,
FOREIGN KEY (id),
REFERENCES tabelle2(nummer) )

Kann auch: id INTEGER NOT NULL AUTO_INCREMENT Sein, damit bei jedem neuen Eintrag die id eins hochgezählt wird

Constraints = Sicherstellung der Gültigkeit von Primär-/ Fremdschlüssel-Werten

Tabelle löschen

DROP TABLE tabelle123

Tabelle ändern

ALTER TABLE tabelle123
ADD attribut456 VARCHAR(10)
DROP attribut321
ADD PRIMARY KEY(attribut123)

Attribut hinzufügen / löschen oder als Primärschlussel deklarieren

Werte Einfügen

INSERT INTO tabelle123 (id, name, verdienst)
VALUES (1, Hans, 25000)

Werte Ändern

UPDATE tabelle123
SET attribut123 = wert
SET attribut456 = attribut456 + wert
WHERE id =1

Löschen von Entitäten

DELETE FROM tabelle123
WHERE id=1

JOIN

Relationen werden meist mittels PK und FK verknüpft, also PK aus einer Tabelle mit dem FK aus einer anderen.
Das funktioniert mit JOINS.

Zwei Tabellen werden „Verbunden“. Wir müssen die jeweiligen Attribute verbinden, zwischen denen eine Verbindung bestehen soll. Z.B. Bei der Tabelle bei einer Tabelle namens „Kunde“ das Attribut „Kundennummer“ (PK) und bei der Tabelle „Kontaktadresse“ das Attribut „KdNR“ (FK) um zwei konkrete Namen zu nennen.
INNER JOIN: Stupides verbinden der Tabellen, wenn eine der Ausgegebenen Zeilen auf einer Seite kein Zugewiesenen Wert haben würde (Kunde existiert, eine Kontaktadresse ist jedoch nicht vorhanden) würde der normale INNER JOIN die Spalte nicht ausgeben.

LEFT / RIGHT JOIN:

FROM KUNDE LEFT JOIN

Kontaktadresse würden auch Kunden ohne Kontaktadresse ausgegeben werden

FROM KUNDE RIGHT JOIN

Kontaktadresse würden auch Kontaktadressen ohne dazugehörigen Kunden ausgegeben werden

Bsp:

SELECT K.name
FROM Kunde AS K LEFT JOIN Kontaktadresse AS KA
ON K.KundenNr = KA.KundenNr
WHERE KA.Wohnort = ‘Ulm’

Namen der Kunden aus Ulm werden ausgegeben. KundenNr ist FK von Kontaktadresse und wurde mittels Constraint als ein solcher definiert. Das könnte so ausgesehen haben:

CREATE TABLE Kontaktadresse( 
AdressNr INTEGER NOT NULL,
KundenNr INTEGER NOT NULL,
Wohnort VARCHAR(40) NOT NULL.
PRIMARY KEY (AdressNr).
CONSTRAINT FK_Kontakt_Kunde,
FOREIGN KEY (KundenNr),
REFERENCES Kunde(KundenNr) )

Gruppierung

Fasst gleiche Werte einer Spalte zusammen.
Hilfreich bei folgendem Beispiel (mit mehreren Zeilen):

SELECT Konzern, KonzernNr, SUM(Umsatz) AS Umsatz
FROM Konzern_Umsatz
GROUP BY Konzern, KonzernNr

Ergebnisrelation:

SQL Aggregatfunktionen

COUNT() (zählt Zeilen in der Gruppe)
SUM()
AVG() (berechnet Mittelwert)
MIN
MAX()

WICHTIG: Wenn man eine Aggregatsfunktion anwendet (s.o.) dann muss man immer alle Attribute, die in der SELECT Anweisung stehen auch in GROUP BY schreiben außer die Aggregatsfunktion selber.

Anomalien (sollten vermieden werden), deshalb am besten angewöhnen, Tabellen immer in die 3. Normalform zu bekommen.

Updateanomalie: Name von einem Kunden ändert sich und ich muss es an mehr als einer Stelle in der Datenbank ändern.

Einfügeanomalie: Ich füge einen neuen Mitarbeiter ein, der noch keine Personalnummer hat (PK)

Löschanomalie: Die Kundenadresse steht beim jeweiligen Kunden in der Kundentabelle, ich lösche einen Kunden und verliere dadurch nun auch das Wissen, dass Ulm die PLZ 89073 hat (wie Tabelle [B] auf der nächsten Seite)

Eine gutstrukturierte Datenbank wäre normalisiert und hätte eine eigene Tabelle:

Normalisierung

1. Normalform:

  • atomar: Jedes Attribut der Relation muss einen atomaren Wertebereich haben Die Spalte Name sollte nicht „Max Mustermann“ enthalten. Für Vor-und Nachname sollte eine separate Spalte vorhanden sein.

2. Normalform:

  • 1. NF
  • Alle Attribute, die nicht zum Primärschlüssel gehören sind von ihm voll abhängig.

3. Normalform:

  • 2. NF
  • Auf ein Nichtschlüsselattribut kann man nicht durch ein anderes Nichtschlüsselattribut schließen.

Mehrschichtenarchitektur

Präsentationsschicht: Oberfläche zur Ein-oder Ausgabe von Daten

GUI (grafische Nurtzeroberfläche, Java SWT, …), SAP Oberfläche (Umfangreiches Programm für unterschiedlichste Geschäftsanwendungen), Internetseite im Webbrowser (http-Client), etc…

Buisiness-Logik: Die Aufgabe der Buisiness-Logik ist, die Daten die in der Präsentationsschicht eingegeben worden sind, zu verarbeiten und in eine Datenbank zu schreiben. 

Was steckt hinter der Präsentationsschicht? Was wird mit den Daten gemacht? Evtl wird mit ihnen gerechnet, oder anderweitig geändert bzw. manipuliert. (Beispiel: Anzahl und Menge wurde eingegeben, Buisiness-Logik multipliziert die Werte).

Datenhaltung: In der Realität liegen die Daten dann entwerder in einem DBMS auf einem Server im Intranet (z.B. Logindaten für Mitarbeiter einer Firma), oder sind auf einem Webserver und speichern dort Daten für Nutzer aus dem Internet (z.B. Artikel von Onlinekaufhäusern)

DBMS: Datenhaltung (Programm) + Daten Die Daten, die in der GUI eingegeben wurden und in der Buisiness-Logik verarbeitet wurden und in die DaBa geschrieben wurden befinden sich nun hier. In der Datenhaltungsschicht.

Schreibe einen Kommentar

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

Nach oben scrollen