CheatSheet | by Robin Schneider
Pc-Tipp
CheatSheet
YouTube
Login Icon
Logo
  • Home
  • |
  • Linux
  • MySQL
  • Docker
  • CMD
  • VIM


Img


Linux

Weiter
Robin Schneider
Zum CheatSheet

Img


Docker

Weiter
Lernende von zli.ch
Zum CheatSheet

Img


MySQL

Weiter
Robin Schneider & zli.ch
Zum CheatSheet

Img


CMD

Weiter
Robin Schneider
Zum CheatSheet

Img


VIM

Weiter
Niel Müller
Zum CheatSheet
 
  • Pc-Tipp Logo
    • Impressum
    • Datenschutz
  • Technik
    • Handy als Monitor nutzen
  • Angebote
    • Webseite Erstellen lassen
    • Webseite Managen
  • Minecraft
    • Varo 4 Map
    • Automatic Camera Acc
  • About
    • Über mich
    • Kontakt
    • Facebook
© 2023 Pc-Tipp.com
CheatSheet | MySQL
Pc-Tipp
CheatSheet
YouTube
Login Icon
Logo
  • Home
  • |
  • Linux
  • MySQL
  • Docker
  • CMD
  • VIM

sql_sprachelemente

Normalisierung

1. Normalform (1NF) 2. Normalform (2NF) 3. Normalform (3NF)
1. NF ist dann gegeben, wenn alle Attributwerte atomar sind. Dabei ist ein Attribut dann atomar, wenn es weder aus kleineren Einheiten zusammengesetzt ist, noch mehrwertig ist. 2. NF ist dann gegeben, wenn sie in der ersten Normalform ist und jedes Nichtschlüsselattribut von jedem Schlüssel voll funktional abhängig ist. Konkret heisst das, dass Nichtschlüsselattribute vom kompletten Schlüssel und nicht nur von einem Teil des Schlüssels abhängen müssen. 3. NF ist dann gegeben, wenn sie in der ersten und zweiten Normalform vorliegt und kein Nichtschlüsselattribut von (irgend)einem Schlüssel transitiv abhängt. Um eine transitive Abhängigkeit also auszuschließen, dürfen alle Nichtschlüsselattribute nicht von anderen Nichtschlüsselattributen abhängig sein

Kardinalitäten

1 c m mc
Genau 1 0 oder 1 1 oder mehrere 0, 1 oder mehrere

System

Befehl Möglichkeiten Beispiel
mysql MYSQL -U [USERNAME] -P; MYSQL -U robin@'localhost' -P;
exit EXIT; EXIT;
Datenbank erstellen CREATE DATABASE [Datenbank Name]; CREATE DATABASE lounge;
Datenbank Löschen DROP DATABASE [Datenbank Name];
oder
DROP DATABASE IF Exists [Datenbank Name];
DROP DATABASE lounge;
oder
DROP DATABASE IF Exists lounge;
Alle Datenbanken anzeigen SHOW DATABASES; SHOW DATABASES;
Datenbank öffnen USE [Datenbank Name]; USE mysql;

DDL - Tabellen

Befehl Möglichkeiten Beispiel
Tabelle Erstellen CREATE TABLE [Tabellen Name] ([Attribut Name] [Datentype] [Constraint]); CREATE TABLE mitglieder(
id INT AUTO_INCREMENT,
firstname VARCHAR(45) NOT NULL,
PRIMARY KEY(id)
);
Tabelle Löschen DROP TABLE [Tabellen Name] DROP TABLE
Alle Tabellen anzeigen SHOW TABLES; SHOW TABLES;
Tabellen Strucktur anzeigen DESCRIBE [table name]; DESC user;
Tabelle bearbeiten (Attribut Hinzufügen) ALTER TABLE [table_name] ADD [attribut_name] [datatype] [CONSTRAINTS, KEYS, INDEXES]; ALTER TABLE mitglieder ADD Nachname VARCHAR(50) NOT NULL
Tabelle bearbeiten (Attribut Verändern) ALTER TABLE [table_name] MODIFY [attribut_name] [NEW_datatype] [NEW_CONSTRAINTS, NEW_KEYS, NEW_INDEXES]; ALTER TABLE mitglieder MODIFY Nachname TEXT NOT NULL;
Tabelle bearbeiten (Attribut Umbenennen) ALTER TABLE [table_name] CHANGE [attribut_name] [NEW_attribut_name] [datatype]; ALTER TABLE mitglieder CHANGE Nachname lastname VARCHAR(50);
Tabelle bearbeiten (Attribut Löschen) ALTER TABLE [table_name] DROP [attribut_name]; ALTER TABLE mitglieder DROP Nachname;

DCL - Benutzer und Berechtigungen

Befehl Möglichkeiten Beispiel
Änderungen übernehmen FLUSH PRIVILEGES; FLUSH PRIVILEGES;
Benutzer Erstellen CREATE USER [username]@'[location]' IDENTIFIED BY '23456’; mysql> CREATE USER backoffice@'localhost' IDENTIFIED BY '23456’;
Benutzer Löschen DROP USER [username]@'[location]'; DROP USER backoffice@'localhost';
Passwort Setzen SET PASSWORD FOR [username]@'[location]’ = PASSWORD('[Dein Passwort]’); mysql> SET PASSWORD FOR backoffice @'localhost' = PASSWORD('12345’);
Benutzer Umbenennen RENAME USER [username]@'[location]’ TO [username2]@'[location2]’; RENAME USER backoffice@'localhost’ TO backoffice2@'%’;
Berechtigungen zuweisen GRANT [PERMISSION],[PERMISSION] ON [database].[table] TO [username]@'[location]’; GRANT INSERT,UPDATE,DELETE ON lounge.mitglieder TO backoffice@'localhost’;
Berechtigungen entziehen REVOKE [PERMISSION],[PERMISSION] ON [database].[table] FROM [username]@'[location]’; REVOKE DELETE, UPDATE ON lounge.* FROM office@'localhost’;
Berechtigungen anzeigen SHOW GRANTS FOR [username]@'[location]’; SHOW GRANTS FOR backoffice@’localhost’;

DML - Daten Verarbeitung

Befehl Möglichkeiten Beispiel
Werte einfügen INSERT INTO [table_name] ([atribut_name], [atribut_name], …) VALUES ([value1], [value2]…); INSERT INTO mitglieder (name, firstname, age) VALUES
('Schneider', 'Robin', 16),
('Klingler', 'Tobias', 16);
Daten ändern UPDATE [table_name] SET [atribut_neu] = [value1], [atribut_alt] = [value2] WHERE [atribut_name] = [value]; UPDATE mitglieder SET firstname = 'Markus' WHERE firstname = 'Tobias';
Daten Löschen DELETE FROM [table_name] WHERE [atribut_name] = [value]; DELETE FROM mitglieder WHERE firstname = 'Robin' AND name = 'Schneider';

TCL - Transaktionen für DML

Befehl Beschreibung
BEGIN; Mit dem "BEGIN" Befehl wird die Datenbank lokal virtuell gespeichert. Das bedeutet alles, was fortan geschrieben wird, wird nicht direkt auf der Datenbank geändert.
COMMIT; Wenn die eingegebenen Befehle ein Erfolg war, kann man mit "COMMIT" die Änderungen auf die offizielle Datenbank übernehmen und die Virtuelle wird gelöscht.
ROLLBACK; Wenn die eingegebenen Befehle kein gutes Resultat ergaben, kann man mit "ROLLBACK" die Änderungen verwerfen und neu beginnen.

DRL - GROUP BY

Befehl Möglichkeiten Beispiel
GROUP BY SELECT [Attribut], [Attribut2] FROM [Table] GROUP BY [option]; SELECT rating, MIN(length), MAX(length) FROM film GROUP BY rating;
HAVING SELECT [Attribut], [Attribut2] FROM [Table] GROUP BY [option] HAVING [Option]; SELECT rating, MIN(length), MAX(lengths) FROM film GROUP BY rating HAVING MIN(lenth) > 63;

DRL - JOIN

Befehl Möglichkeiten Beispiel
SELECT MIT INNER JOIN SELECT [tabellenkürzel] .[attribut] FROM [Tabelle] INNER JOIN [2. Tabelle] ON [fk von tabelle 1] = [Key in Tabelle 2]; SELECT p.id, p.firstname, p.lastname, z.id, z.name, pr.name, pr.salary FROM person p INNER JOIN zip z ON p. fk_zip_id = z.id INNER JOIN profession pr ON p.fk_profession_id = pr.id WHERE p.id = 3;
SELECT MIT RIGHT JOIN SELECT . FROM RIGHT JOIN <2. Tabelle> ON = ; SELECT p.id, p.firstname, p.lastname, z.id, z.name, pr.name, pr.salary FROM person p RIGHT JOIN zip z ON p. fk_zip_id = z.id RIGHT JOIN profession pr ON p.fk_profession_id = pr.id WHERE p.id = 3;
SELECT MIT LEFT JOIN SELECT . FROM LEFT JOIN <2. Tabelle> ON = ; SELECT p.id, p.firstname, p.lastname, z.id, z.name, pr.name, pr.salary FROM person p LEFT JOIN zip z ON p. fk_zip_id = z.id LEFT JOIN profession pr ON p.fk_profession_id = pr.id WHERE p.id = 3;

DRL - Select

Thema Beispiel Beschreibung
Möglichkeiten SELECT [Was?] { * | Attributliste | mathematische Ausdrücke}
FROM Tabelle1 Bezeichner1, Tabelle2 Bezeichner2, ...
[WHERE Bedingungen]
[GROUP BY Attributliste]
[HAVING Bedingungen]
[ORDER BY Attributliste] [ASC | DESC];
[LIMIT 2(,4)]
Command aufstellung
Alles anzeigen SELECT * FROM [Tabelle]; Zeigt alle Datensätze an.
Mehrere Atribute ausgeben SELECT [Atribut1], [Atribut2] FROM [Tabelle]; Nur bestimmte Atribute anzeigen.
Atrubut mit Synonym SELECT [Atribut1] AS [Ausgabe name], [Atribut2] AS [Ausgabe name] FROM [Tabelle]; Gibt die Atribute mit einem anderen Namen an.
LIMIT SELECT [Atribut1] FROM [Tabelle] LIMIT 4; Maximal 4 Datensätze anzeigen
LIMIT SELECT [Atribut1] FROM [Tabelle] LIMIT 2, 3; beim zweiten beginnen und Maximal 3 Datensätze anzeigen
kleinster Wert (MIN) SELECT MIN([Attribut]) FROM [Tabelle] Es gibt den Datensatz mit dem kleinsten wert des ausgewählten Attributes aus.
grösster Wert (MAX) SELECT MAX([Attribut]) FROM [Tabelle] Es gibt den Datensatz mit dem grössten wert des ausgewählten Attributes aus.
Durchschnitt (AVG) SELECT AVG([Attribut]) FROM [Tabelle] Es gibt den Durchschnitt der Attribute aus.
Datensätze Zählen (COUNT) SELECT COUNT([Attribut]) FROM [Tabelle] Es gibt die Anzahl der Datensätze aus.
Thema Beispiel Output
WHERE SELECT id, lastname FROM mitglieder WHERE id > 6 AND id < 12; +----+----------+
| id | lastname |
+----+----------+
| 7 | klingler |
| 8 | sneider |
| 9 | ho |
| 10 | fds |
+----+----------+
WHERE SELECT id, lastname FROM mitglieder WHERE id = 7 OR id = 9; +----+----------+
| id | lastname |
+----+----------+
| 7 | klingler |
| 9 | ho |
+----+----------+
WHERE SELECT id, lastname, firstname FROM mitglieder WHERE lastname = 'ho' OR id = 7; +----+----------+-----------+
| id | lastname | firstname |
+----+----------+-----------+
| 7 | klingler | JUHUdsf |
| 9 | ho | JUHUdsf |
+----+----------+-----------+
Sortieren absteigen SELECT id, lastname FROM mitglieder ORDER BY id DESC; +----+----------+
| id | lastname |
+----+----------+
| 10 | fds |
| 9 | ho |
| 8 | sneider |
| 7 | klingler |
| 6 | meier |
+----+----------+
Sortieren aufsteigen SELECT id, lastname FROM mitglieder ORDER BY id ASC; +----+----------+
| id | lastname |
+----+----------+
| 6 | meier |
| 7 | klingler |
| 8 | sneider |
| 9 | ho |
| 10 | fds |
+----+----------+
Sonstige Funktionen SELECT id, BIN(id), REVERSE(lastname), UPPER(lastname) FROM mitglieder; +----+---------+-------------------+-----------------+
| id | BIN(id) | REVERSE(lastname) | UPPER(lastname) |
+----+---------+-------------------+-----------------+
| 6 | 110 | reiem | MEIER |
| 7 | 111 | relgnilk | KLINGLER |
| 8 | 1000 | rediens | SNEIDER |
| 9 | 1001 | oh | HO |
| 10 | 1010 | sdf | FDS |
+----+---------+-------------------+-----------------+

DRL - Like Pattern

SELECT id, lastname FROM mitglieder WHERE lastname LIKE '[PATTERN]';
Pattern Output Beschreibung
'Me%' +----+----------+
| id | lastname |
+----+----------+
| 6 | meier |
+----+----------+
Es gibt alle Werte aus, welche mit "me" beginnen.
'%n%' +----+----------+
| id | lastname |
+----+----------+
| 7 | klingler |
| 8 | sneider |
+----+----------+
Es gibt alle Werte aus, welche ein "N" beinhalten.
'%r' +----+----------+
| id | lastname |
+----+----------+
| 6 | meier |
| 7 | klingler |
| 8 | sneider |
+----+----------+
Es gibt alle Werte aus, welche mit "r" aufhören.
'_ _ _' +----+----------+
| id | lastname |
+----+----------+
| 10 | fds |
+----+----------+
Es gibt alle Werte aus, welche aus 3 Zeichen besteht.
'k_ _ _ _ _er' +----+----------+
| id | lastname |
+----+----------+
| 7 | klingler |
+----+----------+
Es gibt alle Werte aus, welche aus die mit k beginnen 8 Zeichen lang sind und mit er aufhören.

Quelle: Robin Schneider | Bild: zli.ch



 
  • Pc-Tipp Logo
    • Impressum
    • Datenschutz
  • Technik
    • Handy als Monitor nutzen
  • Angebote
    • Webseite Erstellen lassen
    • Webseite Managen
  • Minecraft
    • Varo 4 Map
    • Automatic Camera Acc
  • About
    • Über mich
    • Kontakt
    • Facebook
© 2023 Pc-Tipp.com