MySQL-Datenbank einrichten: Tutorial für Anfänger
MySQL ist eine der beliebtesten Datenbanken für Web-Anwendungen und wird von WordPress, vielen Content-Management-Systemen, und vielen Web-Anwendungen verwendet. Eine Datenbank zu verstehen und einzurichten ist essentiell für viele Web-Projekte. Dieses Tutorial führt Sie durch die MySQL-Grundlagen, von der Installation bis zu SQL-Abfragen.
Eine Datenbank speichert Daten in strukturierter Form - Tabellen mit Zeilen und Spalten. MySQL ist ein relationales Datenbank-Management-System (RDBMS), was bedeutet, dass Daten in Tabellen gespeichert werden und Beziehungen zwischen Tabellen definiert werden können.
Dieses Tutorial setzt keine Vorkenntnisse voraus und führt Sie Schritt für Schritt durch die MySQL-Grundlagen.
Was ist MySQL?
MySQL ist ein Open-Source-Relationales-Datenbank-Management-System. MySQL speichert Daten in Tabellen, die aus Zeilen (Datensätze) und Spalten (Felder) bestehen. MySQL verwendet SQL (Structured Query Language) für Datenbank-Operationen.
MySQL ist kostenlos, leistungsstark, und wird von Millionen von Websites verwendet. MySQL ist besonders beliebt für Web-Anwendungen, weil es schnell, zuverlässig, und einfach zu verwenden ist.
MySQL ist Teil des LAMP-Stack (Linux, Apache, MySQL, PHP) und wird oft zusammen mit PHP verwendet.
MySQL installieren
MySQL kann auf verschiedenen Betriebssystemen installiert werden. Die Installation variiert je nach Betriebssystem.
Windows: Laden Sie MySQL Installer von mysql.com herunter und folgen Sie den Installationsanweisungen. Der Installer installiert MySQL Server und MySQL Workbench (grafisches Tool).
Mac: Verwenden Sie Homebrew: brew install mysql oder laden Sie MySQL von mysql.com herunter.
Linux (Ubuntu/Debian): sudo apt install mysql-server
Nach der Installation können Sie MySQL starten und prüfen:
mysql --version
MySQL starten und verbinden
Nach der Installation müssen Sie MySQL starten (wenn es nicht automatisch startet) und sich verbinden.
MySQL starten (Linux):
sudo systemctl start mysql
sudo systemctl enable mysql
Mit MySQL verbinden:
mysql -u root -p
Sie werden nach dem Root-Passwort gefragt (das Sie während der Installation gesetzt haben).
Datenbank erstellen
Nachdem Sie sich mit MySQL verbunden haben, können Sie eine Datenbank erstellen:
sql
CREATE DATABASE meine_datenbank;
Datenbank verwenden:
sql
USE meine_datenbank;
Datenbanken anzeigen:
sql
SHOW DATABASES;
Tabellen erstellen
Tabellen speichern Daten. Erstellen Sie eine Tabelle:
sql
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
age INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Dies erstellt eine Tabelle "users" mit Spalten: id (automatisch inkrementiert, Primärschlüssel), name (Text, max 100 Zeichen, nicht null), email (Text, max 100 Zeichen, nicht null, eindeutig), age (Ganzzahl), created_at (Zeitstempel, Standard: aktuelle Zeit).
Daten einfügen (INSERT)
Daten in Tabelle einfügen:
sql
INSERT INTO users (name, email, age) VALUES ('Max Mustermann', '[email protected]', 30);
Mehrere Zeilen einfügen:
sql
INSERT INTO users (name, email, age) VALUES
('Maria Schmidt', '[email protected]', 25),
('Peter Müller', '[email protected]', 35);
Daten abfragen (SELECT)
Daten aus Tabelle abrufen:
sql
SELECT * FROM users;
Dies gibt alle Zeilen und Spalten zurück.
Spezifische Spalten abrufen:
sql
SELECT name, email FROM users;
Mit Bedingung filtern:
sql
SELECT * FROM users WHERE age > 25;
Sortieren:
sql
SELECT * FROM users ORDER BY age DESC;
Limit:
sql
SELECT * FROM users LIMIT 10;
Daten aktualisieren (UPDATE)
Daten in Tabelle aktualisieren:
sql
UPDATE users SET age = 31 WHERE id = 1;
Mehrere Spalten aktualisieren:
sql
UPDATE users SET name = 'Max Mustermann', email = '[email protected]' WHERE id = 1;
Daten löschen (DELETE)
Daten aus Tabelle löschen:
sql
DELETE FROM users WHERE id = 1;
Vorsicht: DELETE löscht dauerhaft. Verwenden Sie WHERE, um spezifische Zeilen zu löschen.
Benutzer erstellen und Berechtigungen
Für Produktions-Umgebungen sollten Sie nicht den Root-Benutzer verwenden. Erstellen Sie einen Benutzer:
sql
CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'sicheres_passwort';
Berechtigungen geben:
sql
GRANT ALL PRIVILEGES ON meine_datenbank.* TO 'webuser'@'localhost';
FLUSH PRIVILEGES;
Mit PHP verbinden
PHP kann mit MySQL über PDO (PHP Data Objects) verbinden:
php
<?php
try {
$pdo = new PDO("mysql:host=localhost;dbname=meine_datenbank", "webuser", "sicheres_passwort");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([1]);
$user = $stmt->fetch();
echo $user["name"];
} catch(PDOException $e) {
echo "Fehler: " . $e->getMessage();
}
?>
PDO verwendet Prepared Statements, die sicherer sind als direkte SQL-Abfragen.
Best Practices
Verwenden Sie immer Prepared Statements, um SQL-Injection zu vermeiden. Verwenden Sie nicht den Root-Benutzer für Anwendungen - erstellen Sie separate Benutzer mit minimalen Berechtigungen. Verwenden Sie aussagekräftige Tabellen- und Spaltennamen. Normalisieren Sie Daten (vermeiden Sie Redundanz). Erstellen Sie Indizes für häufig abgefragte Spalten.
Kommentare