- 1 1. Einführung
- 2 2. Grundlegende MySQL-Operationen (anfängerfreundlich)
- 3 3. Datenbankoperationen
- 4 4. Tabellenoperationen
1. Einführung
MySQL ist eine weit verbreitete Open-Source-Relational-Datenbank unter den Datenbankmanagementsystemen (DBMS). Sie ist besonders beliebt für Web-Anwendungen und Unternehmenssysteme. In diesem Artikel erklären wir wesentliche MySQL-Befehle im Detail und strukturieren den Inhalt so, dass Anfänger bis fortgeschrittene Benutzer reibungslos lernen können.
1.1 Was ist MySQL?
MySQL ist eine Software zur Verwaltung einer Relational-Datenbank (RDB). Die Daten werden in Tabellen gespeichert, und Sie manipulieren die Daten mit SQL (Structured Query Language). MySQL hat die folgenden Merkmale:
- Open-Source und kostenlos für jeden zu verwenden
- Schnelle und leichtgewichtige Leistung
- Kompatibel mit vielen Programmiersprachen (wie PHP, Python und Java)
- Geeignet für den Betrieb großer Datenbanken
1.2 Vorteile des Lernens von MySQL-Befehlen
Um MySQL effizient zu nutzen, ist es wichtig, die grundlegenden Befehle zu verstehen. Wichtige Vorteile umfassen:
- Effizientere Datenverwaltung : Das Beherrschen von SQL-Befehlen ermöglicht es Ihnen, Daten schnell abzurufen, zu aktualisieren und zu löschen
- Automatisierung des Workflows : Mit Skripten können Sie Datenbankoperationen automatisieren
- Besseres Fehlerhandling : Wenn Probleme auftreten, können Sie sie mit den entsprechenden SQL-Befehlen beheben
1.3 Was Sie in diesem Artikel lernen werden
Dieser Artikel erklärt die folgenden Themen im Detail:
- Grundlegende MySQL-Operationen (Starten, Verbinden und Datenbankoperationen)
- Hinzufügen, Abrufen, Aktualisieren und Löschen von Daten (CRUD-Operationen)
- Benutzerverwaltung und Berechtigungs-Einstellungen
- Nützliche Befehle und Fehlerbehebung
Als Nächstes gehen wir jeden Abschnitt der Reihe nach durch. Lassen Sie uns mit den grundlegenden MySQL-Operationen beginnen.
2. Grundlegende MySQL-Operationen (anfängerfreundlich)
2.1 Starten und Verbinden mit MySQL
2.1.1 MySQL starten
Da MySQL als Serverprogramm läuft, müssen Sie den Server zuerst starten. Die Startmethode unterscheidet sich je nach Betriebssystem.
Starten unter Linux / macOS
Unter Linux und macOS können Sie MySQL mit dem systemctl-Befehl starten.
sudo systemctl start mysql
Überprüfen, ob MySQL läuft
sudo systemctl status mysql
Wenn Sie „active (running)“ sehen, läuft MySQL normal.
Starten unter Windows
Unter Windows wird MySQL oft als Dienst ausgeführt, sodass Sie den net start-Befehl verwenden können.
net start mysql
Oder, wenn Sie XAMPP verwenden, öffnen Sie das XAMPP-Control-Panel und klicken Sie auf „Start“ für „MySQL“.
2.1.2 Verbinden mit MySQL
Um sich mit MySQL zu verbinden, verwenden Sie den mysql-Befehl. Der grundlegende Verbindungs-Befehl lautet wie folgt:
mysql -u username -p
Verbinden als root-Benutzer
Standardmäßig ist der root-Benutzer als Administrator konfiguriert. Sie können sich mit dem folgenden Befehl verbinden:
mysql -u root -p
Nachdem Sie Enter drücken, werden Sie aufgefordert, ein Passwort einzugeben. Wenn Sie das richtige Passwort eingeben, können Sie sich bei MySQL anmelden.
Verbinden mit einem bestimmten Host
Um sich mit einem remote MySQL-Server zu verbinden, verwenden Sie die Option -h.
mysql -h hostname -u username -p
Zum Beispiel, um sich mit einem MySQL-Server unter 192.168.1.100 zu verbinden, schreiben Sie:
mysql -h 192.168.1.100 -u root -p
Verbinden durch Angabe einer Portnummer
Der Standard-MySQL-Port ist 3306. Wenn er geändert wurde, können Sie ihn mit der Option -P angeben.
mysql -h 192.168.1.100 -P 3307 -u root -p
2.2 Grundlegende MySQL-Befehle
Sobald Sie mit MySQL verbunden sind, versuchen Sie, einige grundlegende Befehle auszuführen.
2.2.1 MySQL-Version überprüfen
Um die MySQL-Version zu überprüfen, die Sie derzeit verwenden, führen Sie den folgenden Befehl aus:
SELECT VERSION();
2.2.2 Aktuelle Datenbank überprüfen
Um zu überprüfen, welche Datenbank derzeit ausgewählt ist, führen Sie aus:
SELECT DATABASE();
Wenn keine Datenbank ausgewählt ist, wird NULL zurückgegeben.
2.2.3 Verfügbare Datenbanken auflisten
Um die in MySQL vorhandenen Datenbanken aufzulisten, verwenden Sie:
SHOW DATABASES;
2.3 Häufige Fehler und Lösungen
2.3.1 „Access denied“-Fehler
Beispiel-Fehler:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Wie zu beheben:
- Überprüfen Sie, ob das Passwort korrekt ist
- Überprüfen und setzen Sie die
root‑Privilegien zurückALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NEW_PASSWORD'; FLUSH PRIVILEGES;
2.3.2 „Kann keine Verbindung zum MySQL‑Server auf ‘localhost’ herstellen“ Fehler
Beispiel‑Fehler:
ERROR 2002 (HY000): Can't connect to MySQL server on 'localhost' (10061)
Wie zu beheben:
- Prüfen Sie, ob MySQL läuft (
systemctl status mysql) - Starten Sie MySQL neu
sudo systemctl restart mysql
2.4 Zusammenfassung
In diesem Abschnitt haben wir erklärt, wie man MySQL startet und eine Verbindung herstellt.
3. Datenbankoperationen
In MySQL erstellen Sie eine Datenbank, um Daten zu verwalten, und organisieren dann Informationen, indem Sie Tabellen darin ablegen. In diesem Abschnitt erklären wir grundlegende Vorgänge wie das Erstellen, Auswählen, Auflisten und Löschen von Datenbanken im Detail.
3.1 Erstellen einer Datenbank
Um eine Datenbank in MySQL zu erstellen, verwenden Sie den Befehl CREATE DATABASE.
3.1.1 Erstelle eine einfache Datenbank
Wenn Sie den folgenden SQL‑Befehl ausführen, können Sie eine neue Datenbank namens my_database erstellen.
CREATE DATABASE my_database;
Meldung bei erfolgreichem Erstellen
Query OK, 1 row affected (0.01 sec)
3.1.2 Wenn Sie versuchen, eine bereits vorhandene Datenbank zu erstellen
Falls die Datenbank bereits existiert, sehen Sie einen Fehler wie den folgenden:
ERROR 1007 (HY000): Can't create database 'my_database'; database exists
Um diesen Fehler zu vermeiden, ist es sinnvoll, die Option IF NOT EXISTS hinzuzufügen.
CREATE DATABASE IF NOT EXISTS my_database;
Wenn Sie diesen Befehl ausführen, wird die Datenbank nur erstellt, wenn sie noch nicht existiert.
3.2 Auflisten von Datenbanken
Um zu prüfen, welche Datenbanken auf dem aktuellen MySQL‑Server existieren, verwenden Sie den Befehl SHOW DATABASES.
SHOW DATABASES;
Beispielausgabe:
+--------------------+
| Database |
+--------------------+
| information_schema |
| my_database |
| mysql |
| performance_schema |
| sys |
+--------------------+
Hinweis: Systemdatenbanken wie mysql und information_schema werden für die MySQL‑Administration benötigt.
3.3 Auswählen einer Datenbank
In MySQL müssen Sie die Datenbank auswählen, die Sie verwenden möchten. Um eine Datenbank festzulegen, führen Sie den Befehl USE aus.
USE my_database;
Meldung bei Erfolg
Database changed
Um zu bestätigen, welche Datenbank aktuell ausgewählt ist, verwenden Sie den folgenden Befehl:
SELECT DATABASE();
Beispielausgabe:
+------------+
| DATABASE() |
+------------+
| my_database |
+------------+
3.4 Löschen einer Datenbank
Um eine nicht mehr benötigte Datenbank zu löschen, verwenden Sie den Befehl DROP DATABASE.
DROP DATABASE my_database;
3.4.1 Wichtige Hinweise vor dem Löschen
- Vorsicht: Das Löschen einer Datenbank entfernt alle Daten!
- Um versehentliche Fehler zu vermeiden, können Sie auch
IF EXISTShinzufügen.DROP DATABASE IF EXISTS my_database;
Dieser Befehl beendet sich ohne Fehler, selbst wenn my_database nicht existiert.
3.5 Häufige Fehler und Lösungen
3.5.1 „Zugriff verweigert für Benutzer“ Fehler
Beispiel‑Fehler:
ERROR 1044 (42000): Access denied for user 'user_name'@'localhost' to database 'my_database'
Wie zu beheben
- Gewähren Sie Berechtigungen mit dem Befehl
GRANTGRANT ALL PRIVILEGES ON my_database.* TO 'user_name'@'localhost'; FLUSH PRIVILEGES;
3.5.2 „Kann Datenbank nicht löschen“ Fehler
Beispiel‑Fehler:
ERROR 1010 (HY000): Error dropping database (can't rmdir './my_database', errno: 39)
Wie zu beheben
- Starten Sie MySQL neu
sudo systemctl restart mysql
- Löschen Sie zuerst alle Tabellen in
my_databaseund führen Sie dannDROP DATABASEaus.
3.6 Zusammenfassung
In diesem Abschnitt haben Sie gelernt, wie man Datenbanken erstellt, auswählt, auflistet und löscht.
4. Tabellenoperationen
After creating a database, you need to create Tabellen inside it to organize data. A table is like a grid for storing data, consisting of columns and rows (records).
In diesem Abschnitt erklären wir die Grundoperationen wie Erstellen, Prüfen, Auflisten und Löschen von Tabellen im Detail.
4.1 Erstellen einer Tabelle
To create a table, use the CREATE TABLE command. If you run the following SQL, it creates a table named users.
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
4.1.1 Erklärung jedes Elements beim Erstellen einer Tabelle
id INT AUTO_INCREMENT PRIMARY KEY- Die Spalte
idist ein Integer (INT), erhöht sich automatisch (AUTO_INCREMENT) und ist als Primärschlüssel (PRIMARY KEY) festgelegt. name VARCHAR(50) NOT NULL- Die Spalte
nameist ein String (VARCHAR) mit bis zu 50 Zeichen und ist aufgrund vonNOT NULLerforderlich. email VARCHAR(100) UNIQUE NOT NULL- Die Spalte
emailist ein String mit bis zu 100 Zeichen, und dieUNIQUE-Einschränkung verhindert doppelte E‑Mail‑Adressen. created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP- Die Spalte
created_atsetzt automatisch das aktuelle Datum/Uhrzeit als Standardwert.
Meldung bei Erfolg
Query OK, 0 rows affected (0.02 sec)
4.2 Tabellenstruktur prüfen
To check the structure of a table you created, use DESC or SHOW COLUMNS.
DESC users;
Or
SHOW COLUMNS FROM users;
Example output:
+------------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+-------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(50) | NO | | NULL | |
| email | varchar(100) | NO | UNI | NULL | |
| created_at | timestamp | YES | | CURRENT_TIMESTAMP | |
+------------+--------------+------+-----+-------------------+----------------+
4.3 Tabellen auflisten
To list the tables that exist in the current database, run the SHOW TABLES command.
SHOW TABLES;
Example output:
+------------------+
| Tables_in_mydb |
+------------------+
| users |
| products |
| orders |
+------------------+
4.4 Tabelle löschen
To delete a table you no longer need, use the DROP TABLE command.
DROP TABLE users;
4.4.1 Wichtige Hinweise beim Löschen einer Tabelle
- Vorsicht: Das Löschen einer Tabelle entfernt die Daten dauerhaft!
- Um Fehler beim Löschen zu vermeiden, fügen Sie
IF EXISTShinzu.DROP TABLE IF EXISTS users;
Meldung bei Erfolg
Query OK, 0 rows affected (0.01 sec)
4.5 Tabellendaten zurücksetzen (Alle Zeilen löschen)
If you want to keep the table structure but delete only the data inside, use TRUNCATE TABLE.
TRUNCATE TABLE users;
Unterschied zu DROP TABLE
DROP TABLElöscht die Tabelle selbst.TRUNCATE TABLElöscht nur die Daten und behält die Tabellenstruktur bei.
4.6 Häufige Fehler und Lösungen
4.6.1 Fehler „Tabelle bereits vorhanden“
Example error:
ERROR 1050 (42S01): Table 'users' already exists
Wie man das Problem behebt
- Vorhandene Tabellen prüfen
SHOW TABLES;
- Die Tabelle mit
IF NOT EXISTSerstellenCREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
4.6.2 Fehler „Unbekannte Tabelle“
Example error:
ERROR 1051 (42S02): Unknown table 'users'
Wie man das Problem behebt
- Überprüfen Sie, ob die Tabelle mit
SHOW TABLES;existiert - Falls sie nicht existiert, fügen Sie
IF EXISTShinzuDROP TABLE IF EXISTS users;
4.7 Zusammenfassung
In diesem Abschnitt haben wir die grundlegenden MySQL-Tabellenoperationen behandelt: Erstellen, Überprüfen und Löschen von Tabellen.


