21 MySQL
MySQL, das sowohl als “My S-Q-L” als auch als “My Sequel” ausgesprochen wird, ist ein relationales Datenbankverwaltungssystem (RDBMS), das zur Verwaltung von Daten in relationalen Datenbanken dient. Es verwendet die Structured Query Language (SQL) für verschiedene Aufgaben wie Datenverwaltung, -manipulation und -abfrage.
MySQL Workbench bietet eine grafische Oberfläche für Datenbankverwaltung und SQL-Entwicklung. Es integriert visuelle Werkzeuge für Datenmodellierung, SQL-Entwicklung und umfassende Datenbankverwaltung.
Hauptkomponenten der MySQL Workbench:
- Toolbar: Oben befindliche Leiste mit Schaltflächen für häufige Aktionen wie neue Abfrage-Tabs oder Ausführen von Abfragen.
- Seitenleiste: Links platzierte Leiste für Zugriff auf Instanzverwaltung, Leistungsüberwachung und weitere Funktionen.
- Abfrage-Tab: Zentraler Bereich zum Schreiben und Ausführen von SQL-Abfragen.
- Ausgabebereich: Unterhalb des Abfrage-Editors zur Anzeige von Abfrageergebnissen oder Servermeldungen.
21.1 MySQL-Installation in Windows
Folgende Schritte führen durch die Installation von MySQL und MySQL Workbench:
- Installer herunterladen
- Auf der MySQL Downloadseite Windows als Plattform wählen.
- MySQL-Installer für Windows in Version 8.0.37 herunterladen.
- Installer ausführen
- Heruntergeladene Datei ausführen und bei Sicherheitsabfrage “Ja” wählen.
- Setup-Typ auswählen
- “Custom” als Setup-Typ wählen für spezifische Komponentenauswahl.
- Produkte und Features auswählen
- ‘MySQL Server’ und ‘MySQL Workbench’ zur Installation auswählen.
- Installation durchführen
- Bildschirmanweisungen zur Installation der gewählten Komponenten befolgen.
- MySQL Server konfigurieren
- Root-Passwort einrichten, Benutzerkonten erstellen, Netzwerkoptionen und Windows-Dienst konfigurieren.
- Installation abschließen
- Setup beenden, um die MySQL-Installation abzuschließen.
21.2 MySQL-Installation auf Mac
Installationsschritte für MySQL und MySQL Workbench auf Mac:
- MySQL herunterladen und installieren
- MySQL Downloadseite besuchen, macOS wählen.
- DMG-Datei für macOS (Version 8.0.36) herunterladen und installieren.
- MySQL Workbench installieren
- MySQL Workbench Downloadseite aufrufen.
- Passende Version für macOS herunterladen und installieren.
21.3 Server einrichten
Nach der Installation erfolgt die Verbindung zum MySQL-Server über MySQL Workbench:
- MySQL Workbench starten
- Anwendung aus der Programmübersicht öffnen.
Falls MySQL Workbench während der anfänglichen Einrichtung des MySQL Servers nicht enthalten war, kann es separat installiert werden:
MySQL Workbench Downloadseite öffnen und passende Version für das Betriebssystem auswählen.
- Neue Verbindung erstellen
- Auf “+” im Bereich “MySQL Connections” klicken.
- Verbindungsdetails eingeben:
- Name: local-connection
- Hostname: localhost
- Port: 3306
- Benutzername: Meist root
- Passwort: “Store in Vault” wählen und Passwort eingeben, welches während der Installation vergeben wurde.
- “Test Connection” zur Überprüfung klicken.
- Verbindung speichern
- Bei erfolgreicher Verbindung auf “OK” klicken.
21.4 SQL-Basics in MySQL
Nachfolgend behandeln wir einige typische Aufgaben in MySQL Workbench, die bei der Arbeit mit Datenbanken anfallen.
21.4.1 Datenbank erstellen
Mit MySQL-Instanz verbinden (local-connection).
Neues Abfrage-Tab öffnen (auf das “+”-Symbol oben klicken)
SQL-Befehle eingeben und ausführen (auf das Blitzsymbol (⚡) klicken, um den Befehl auszuführen):
DROP DATABASE IF EXISTS `db_data`;
CREATE DATABASE `db_data`;
USE `db_data`;
Der SQL-Code führt drei Operationen durch:
- DROP DATABASE IF EXISTS
db_data
;- Dieser Befehl löscht die Datenbank
db_data
, falls sie existiert. Dies ist nützlich, um sicherzustellen, dass wir mit einer neuen Datenbank arbeiten, indem eine eventuell vorhandene Datenbank mit demselben Namen entfernt wird.
- Dieser Befehl löscht die Datenbank
- CREATE DATABASE
db_data
;- Dieser Befehl erstellt eine neue Datenbank mit dem Namen
db_data
. Dies legt die Basis für eine neue Datenbank, in der wir Tabellen und andere Datenbankobjekte erstellen können.
- Dieser Befehl erstellt eine neue Datenbank mit dem Namen
- USE
db_data
;- Dieser Befehl setzt die neu erstellte Datenbank
db_data
als die aktuell verwendete Datenbank. Alle nachfolgenden SQL-Befehle werden auf dieser Datenbank ausgeführt.
- Dieser Befehl setzt die neu erstellte Datenbank
- Schema-Liste aktualisieren zur Anzeige der neuen Datenbank (Schema-Liste befindet sich auf der linken Seite der Benutzer-Oberfläche)
21.4.2 Tabelle erstellen
Als Beispieldaten erstellen wir eine Tabelle zu einer Marketingkampagne:
Neues Abfrage-Tab öffnen.
SQL zur Tabellenerstellung ausführen:
CREATE TABLE campaigns (
id INT AUTO_INCREMENT PRIMARY KEY,
VARCHAR(255) NOT NULL,
name DATE,
start_date DATE,
end_date DECIMAL(10, 2),
budget VARCHAR(255)
channel );
id: Eine Spalte namens
id
, die den DatentypINT
(integer) verwendet und automatisch inkrementiert wird (d.h. 1, 2, 3, …), was sich gut als Primärschlüssel eignet.name: Eine Spalte zur Speicherung der Kampagnennamen als Text, um eine Zeichenkette von bis zu 255 Zeichen zu halten. Die
NOT NULL
-Einschränkung stellt sicher, dass jede Zeile einen Namen haben muss.start_date und end_date: Diese Spalten speichern die Start- und Enddaten der Kampagnen mit dem Datentyp
DATE
.budget: Eine Spalte für das Budget jeder Kampagne, die
DECIMAL(10, 2)
verwendet, um bis zu 10 Stellen mit 2 Dezimalstellen zu ermöglichen.channel: Eine Spalte, um das verwendete Medium der Kampagne anzugeben, die Zeichenfolgen von bis zu 255 Zeichen speichern kann.
- Befehl ausführen und Schema-Ansicht überprüfen.
21.4.3 Werte einfügen
Wir gehen wie folgt vor, um die Tabelle mit Daten zu füllen. In neuem Abfrage-Tab SQL-Befehl ausführen:
INSERT INTO campaigns (name, start_date, end_date, budget, channel) VALUES
'Winter Sale', '2023-12-01', '2023-12-31', 5000.00, 'Email'),
('Summer Festival', '2023-06-01', '2023-06-15', 10000.00, 'Social Media'),
('Back to School', '2023-08-01', '2023-08-20', 7500.00, 'TV'); (
Dieser SQL-Befehl fügt Daten in die campaigns
-Tabelle ein. Jede Zeile von Werten entspricht einer anderen Marketingkampagne:
Erste Zeile: Fügt eine Kampagne namens “Winter Sale” ein, die vom 1. bis 31. Dezember 2023 läuft, mit einem Budget von $5000 und dem Kanal “Email”.
Zweite Zeile: Fügt “Summer Festival” ein, eine kürzere Kampagne vom 1. bis 15. Juni 2023, mit einem höheren Budget von $10000 und dem Kanal “Social Media”.
Dritte Zeile: Fügt die “Back to School”-Kampagne vom 1. bis 20. August 2023 hinzu, mit einem Budget von $7500, vermarktet über “TV”.
Jeder Satz von Werten ist in Klammern eingeschlossen und durch Kommas getrennt, um verschiedene Kampagnen zu unterscheiden.
21.4.4 Werte abrufen
Um die Daten zu überprüfen:
SELECT-Abfrage in neuem Tab ausführen:
SELECT * FROM campaigns;
Der SQL-Befehl ruft alle Spalten aus allen Zeilen in der campaigns
-Tabelle ab. Er ist nützlich, um alle eingegebenen Daten in der Tabelle anzuzeigen, sicherzustellen, dass die Einträge korrekt sind, und um weitere Datenanalysen oder Berichte zu ermöglichen.
Erwartetes Ergebnis:
id | name | start_date | end_date | budget | channel |
---|---|---|---|---|---|
1 | Winter Sale | 2023-12-01 | 2023-12-31 | 5000.00 | |
2 | Summer Festival | 2023-06-01 | 2023-06-15 | 10000.00 | Social Media |
3 | Back to School | 2023-08-01 | 2023-08-20 | 7500.00 | TV |