MySQL Gängige Befehle Cheat Sheet
MySQL ist das weltweit beliebteste Open-Source-Relational-Datenbankmanagementsystem. Dieses Cheat Sheet enthält die am häufigsten verwendeten SQL-Befehle für die tägliche Datenbankentwicklung und -wartung.
Verbindung & Verwaltung
| Befehl | Beschreibung | Beispiel |
|---|---|---|
mysql -u root -p |
Mit root-Benutzer zur Datenbank verbinden | mysql -u root -p |
exit / quit |
MySQL-Kommandozeile verlassen | exit |
show databases; |
Alle Datenbanken auflisten | show databases; |
use <db_name>; |
Zu angegebener Datenbank wechseln | use my_app; |
status; |
Aktuellen Verbindungsstatus anzeigen | status; |
Datenbank- & Tabellenoperationen (DDL)
| Befehl | Beschreibung | Beispiel |
|---|---|---|
create database <name>; |
Neue Datenbank erstellen | create database test_db; |
drop database <name>; |
Datenbank löschen | drop database test_db; |
show tables; |
Alle Tabellen in der aktuellen DB auflisten | show tables; |
create table <table> (...); |
Neue Tabelle erstellen | create table users (id int, name varchar(20)); |
describe <table>; |
Tabellenstruktur anzeigen | describe users; |
alter table <table> add <col>; |
Neue Spalte hinzufügen | alter table users add email varchar(50); |
drop table <table>; |
Tabelle löschen | drop table users; |
Datenoperationen (DML)
// Daten einfügen
insert into users (name, age) values ('Alice', 25), ('Bob', 30);// Daten abfragen
select * from users where age > 20 order by id desc limit 10;
select count(*) from users;// Daten aktualisieren
update users set age = 26 where name = 'Alice';// Daten löschen
delete from users where id = 10;
truncate table users; -- Tabelleninhalt löschen und Auto-Increment-ID zurücksetzenJoin-Abfragen (JOIN)
| Type | Beschreibung |
|---|---|
INNER JOIN |
Gibt Zeilen zurück, die in beiden Tabellen Übereinstimmungen haben |
LEFT JOIN |
Gibt alle Zeilen der linken Tabelle und die übereinstimmenden der rechten zurück |
RIGHT JOIN |
Gibt alle Zeilen der rechten Tabelle und die übereinstimmenden der linken zurück |
UNION |
Ergebnisse zweier Abfragen kombinieren (eindeutig) |
// Tabellen-Join-Abfrage
select u.name, o.id from users u
inner join orders o on u.id = o.user_id;Indexverwaltung
| Befehl | Beschreibung |
|---|---|
create index <idx_name> on <table>(<col>); |
Einfachen Index erstellen |
create unique index ... |
Eindeutigen Index erstellen |
show index from <table>; |
Indizes einer Tabelle anzeigen |
drop index <idx_name> on <table>; |
Index löschen |
Benutzer & Berechtigungen (DCL)
| Befehl | Beschreibung |
|---|---|
create user 'user'@'host' identified by 'pass'; |
Neuen Benutzer erstellen |
grant all privileges on db.* to 'user'@'host'; |
Berechtigungen gewähren |
revoke all on db.* from 'user'@'host'; |
Berechtigungen entziehen |
drop user 'user'@'host'; |
Benutzer löschen |
flush privileges; |
Berechtigungen neu laden, um sie wirksam zu machen |