---------------------------------------------------------------------------------------------------------------------------- Die wichtigsten SQL Befehle SQL Commands ---------------------------------------------------------------------------------------------------------------------------- Login: Als Administrator anmelden: mysql -u root -p ---------------------------------------------------------------------------------------------------------------------------- Datenbanken: Datenbanken anzeigen: SHOW DATABASES; Datenbank auswählen: USE db_name; Datenbank löschen: DROP DATABASE db_name; Datenbank löschen (wenn existiert): DROP DATABASE IF EXISTS db_name; Datenbank anlegen: CREATE DATABASE db_name; ---------------------------------------------------------------------------------------------------------------------------- Tabellen: Alle Tabellen anzeigen: SHOW TABLES FROM db_name; Tabellenstruktur anzeigen: ALTER TABLE tbl_name DROP COLUMN spalte2; Tabelle erstellen: CREATE TABLE tbl_name ( id int NOT NULL, spalte1 varchar(50) ); Tabelle löschen: DROP TABLE tbl_name; Tabelle löschen: (wenn existiert): DROP TABLE IF EXISTS tbl_name; Tabelle leeren: DELETE FROM tbl_name; Tabelle kopieren: CREATE TABLE new_table_name AS SELECT * FROM old_table; Spalte hinzufügen: ALTER TABLE tbl_name ADD COLUMN (spalte2 char(50)); Spalte löschen: ALTER TABLE tbl_name DROP COLUMN spalte2; Datentyp einer Spalte ändern: ALTER TABLE tbl_name MODIFY (spalte2 varchar(50)); Spaltenname ändern: ALTER TABLE tbl_name CHANGE spalte2 neuername varchar(50); ---------------------------------------------------------------------------------------------------------------------------- Abfragen/Ausgaben: Tabelleninhalt ausgeben: SELECT * FROM tbl_name; Inhalt von Tabellenspalten ausgeben: SELECT spalte1, spalte2 FROM tbl_name; Bedingung, Zeilen mit ID=1: SELECT * FROM tbl_name WHERE id = 1; Bedingung, Wort: SELECT * FROM tbl_name WHERE spalte1 = 'wort'; Bedingung, Datensätze zwischen 10-20: SELECT * FROM tbl_name WHERE id BETWEEN 10 AND 20; Abfragen/Ausgaben mit Bedingungen: Platzhalter: % belibieg viele unbekannte Zeichen Platzhalter: _ ein unbekanntes Zeichen Abfrage mit Platzhalter/Wildcard: SELECT * FROM tbl_name WHERE spalte1 LIKE ‘%wort%’; Abfragen/Ausgaben mit Bedingung und Verknüpfungen: UND Abfrage: SELECT * FROM tbl_name WHERE id > 10 AND id < 20; ODER Abfrage: SELECT * FROM tbl_name WHERE id = 10 OR id = 20; NOT Abfrage (negieren): SELECT * FROM tbl_name WHERE id < 10 AND NOT id = 5; Mehrere Bedingungen (in Klammern setzen): SELECT * FROM tbl_name WHERE id < 10 OR (spalte1 = ‘wort’ AND id = 50); ---------------------------------------------------------------------------------------------------------------------------- Datenstätze: Daten einfügen: INSERT INTO tbl_name (spalte1, spalte2) VALUES (wert1, wert2); Daten modifizieren: UPDATE tbl_name SET spalte1 = neuer_wert1 WHERE id = 1; Daten löschen: DELETE FROM tbl_name WHERE id = 1; ---------------------------------------------------------------------------------------------------------------------------- Sichern und Wiederherstellen: Backupdump aller Datenbanken: mysqldump -u root -p --all-databases > sicherung.sql Backupdump einer Datenbank: mysqldump -u root -p mydatabase > sicherung.sql Wiederherstellen des Dumps: mysql -u root -p < sicherung.sql Wiederherstellen einer Datenbank: mysql -u root -p mydatabase < sicherung.sql Backup ohne Angabe von Kennwort unter Debian (debian-sys-maint): mysqldump --defaults-extra-file=/etc/mysql/debian.cnf --all-databases --events > /var/backups/mysqldump_alldatabases.sql