MySQL - Befehle

Erstellen einer Datenbank
CREATE DATABASE db_namen;

Existierende Datenbanken anzeigen
SHOW DATABASES;

Datenbank löschen
DROP DATABASE db_namen;
DROP DATABASE IF EXISTS db_namen;

In eine Datenbank wechseln
USE db_namen;

Tabelle anlegen
CREATE TABLE tbl_namen (id int NOT NULL, spalte1 varchar(50));

Existierende Tabellen anzeigen
SHOW TABLES FROM db_namen;
SHOW TABLES;

Spalten für eine Tabelle anzeigen
DESCRIBE tbl_namen;

Tabelle löschen
DROP TABLE tbl_namen;
DROP TABLE IF EXISTS tbl_namen;

Spalte hinzufügen
ALTER TABLE tbl_namen ADD COLUMN (spalte2 char(50));

Datentyp einer Spalte ändern
ALTER TABLE tbl_namen MODIFY spalte2 varchar(50);

Spalte löschen
ALTER TABLE tbl_namen DROP COLUMN spalte2;

Daten einfügen
INSERT INTO tbl_namen (spalte1, spalte2) VALUES (wert1, wert2);
aus der Anweisung heraußen.

Daten modifizieren
UPDATE tbl_namen SET spalte1 = neuer_wert1 WHERE id = 1;

Daten löschen
DELETE FROM tbl_namen WHERE id = 1;
DELETE FROM tbl_namen;   //leert komplette Tabelle

Abfragen erstellen
SELECT * FROM tbl_namen;
SELECT spalte1, spalte2 FROM tbl_namen;

Mit der Option DISTINCT können Duplikate ausgefiltert werden.
SELECT DISTINCT spalte1 FROM tbl_namen;

Abfrage mit Bedingung
SELECT * FROM tbl_namen WHERE id = 1;
SELECT * FROM tbl_namen WHERE spalte1 = ‘wort’;
SELECT * FROM tbl_namen WHERE id BETWEEN 10 AND 20;

Abfrage mit Platzhalter
SELECT * FROM tbl_namen WHERE spalte1 LIKE ‘%wort%’;
SELECT * FROM tbl_namen WHERE spalte1 LIKE ‘w__t’;

Verknüpfung von Bedingungen
SELECT * FROM tbl_namen WHERE id > 10 AND id < 20;
SELECT * FROM tbl_namen WHERE id = 10 OR id = 20;
SELECT * FROM tbl_namen WHERE id < 10 AND NOT id = 5;
SELECT * FROM tbl_namen WHERE id < 10 OR (spalte1 = ‘wort’ AND id = 5);

Anzahl der Datensätze ermitteln
SELECT COUNT(*) FROM tbl_namen WHERE spalte1 = ‘wort’;

Summierung
SELECT SUM(preis) FROM tbl_namen;

Durchschnitt
SELECT AVG(preis) FROM tbl_namen;

Maximalwert
SELECT MAX(preis) FROM tbl_namen;

Minimalwert
SELECT MIN(preis) FROM tbl_namen;

Gruppierung
SELECT spalte1, COUNT(*) FROM tbl_namen GROUP BY spalte1;

Sortierung
SELECT * FROM tbl_namen ORDER BY spalte1, spalte2;
 SELECT * FROM tbl_namen ORDER BY spalte1 ASC;
 SELECT * FROM tbl_namen ORDER BY spalte1 DESC;