Dies ist eine alte Version des Dokuments!
Hinweis: Diese Seite erhebt keinen Anspruch auf Vollständigkeit, es handelt sich nur um eine Sammlung einzelner Informationen.
Der null Wert in SQL wird verwendet um ein Attributsfeld eines Datensatzes als leer zu kennzeichnen.
not null als Wert bzw. Defaultwert besagt, dass das betreffende Datenfeld nicht leer bleiben darf.
Ist ein Feld als Primary Key gekennzeichnet wird der Defaultwert automatisch auf not null gesetzt.
Auto Inkrement (AI) Steht für ein automatisches „hochzählen“ einer Zahl um einen vorgegebenen Wert. Meistens wird um 1 hochgezählt.
- Es kann NUR der Primary Key als Auto Increment Feld definiert werden.
- Der Startwert für Auto Increment kann NUR NACHTRÄGLICH dem bereits aktivierten Auto Increment hinzugefügt werden.
!!!!!!DIESER ABSCHNITT IST NICHT GANZ RICHTIG UND MUSS ÜBERARBEITET WERDEN!!!!!!
"Werte" werden zwischen " " gesetzt, 'Spalten' sowie 'Attribute' zwischen ' '
tinyint Wird für Boolean verwendet, Wert 0 = False – Werte 1, 2, 3, …. 254, 255 = True
Hintergrund: in SQL gibt es Boolean nicht als eigenständigen Datentypen, daher wird TINYINT verwendet.
int Standarddatentyp für ganze Zahlen bis 10 Stellen (bzw. 11 Stellen bei negativen Zahlen für das -)
bigint Datentyp für große ganze Zahlen bis 2^54-1 Stellen
double (M, D) Datentyp für Gleitkommazahlen, M gibt die Gesamte Anzahl Stellen an, D gibt die Anzahl Stellen nach dem Komma an.
decimal (M, D) -wie double
numeric (M, D) -wie double
float (M, D) - wie double
char (L) Datentyp für Zeichenketten L steht für die Anzahl Zeichen (bis 255) die dieses Feld aufnehmen kann.
varchar (L) Wie char allerdings bis zu 65.535 Zeichen
date Datentyp für ein Datum im Format 'YYYY-MM-DD'
time Datentyp für eine Zeit im Format 'hh:mm:ss'
datetime Datentyp für Datum und Zeit im Format 'YYYY-MM-DD hh:mm:ss'
timestamp Datentyp für einen Zeitstempel im Format 'YYYY-MM-DD hh:mm:ss'
year Datentyp für eine Jahreszahl im Format 'YYYY'
text (L) Datentyp für Text L steht für die Länge des Feldes.
blob (Binary Large OBject) Datentyp für, unter anderem, Multimediadateien.
Wird der Primary Key definiert, wird der Default-Wert des Attributes automatisch auf „NOT NULL“ gesetzt.
Um einen Foreign Key zu erstellen muss zwingend ein Primary Key vorhanden sein, auf den dieser verweisen kann.
Beim löschen eines Foreign Keys muss darauf geachtet werden, dass zuerst der Constraint, sowie danach der Key gelöscht werden.
Wichtig: Jeder Befehl in MySQL MUSS mit einem ; (Semikolon) abgeschlossen werden!
#Auflisten aller Datenbanken show databases;
#Auflisten der Eigenschaften einer Tabelle show create table [name_der_tabelle];
#Auswählen einer bestimmten Datenbank use [name_der_datenbank]; #Dieser Befehl wird meist nachfolgenden Befehlen vorangestellt #um die zu Manipulierende Datenbank auszuwählen.
#Eine neue leere Datenbank erstellen create database [name_der_datenbank];
#Eine neue Tabelle mit mehreren Atributen (Spalten) erstellen
create table [name_der_tabelle] (
[name_der_spalte_1] datentyp (size) not null auto_increment,
[name_der_spalte_2] datentyp (size) null,
[name_der_spalte_X] datentyp (size) default wertX
);
#Einer bestehenden Tabelle ein neues Attribut (Spalte) hinzufügen
use [name_der_db];
alter table [name_der_tabelle]
add column [name_der_spalte] datentyp (size);
#Ein Attribut (Spalte) einer bestehenden Tabelle entfernen
use [name_der_db];
alter table [name_der_tabelle]
drop column [name_der_spalte];
#Eigenschaften eines bestehendes Attributs (Spalte) einer bestehenden Tabelle abändern
use [name_der_db];
alter table [name_der_tabelle]
modify column [name_der_spalte] neuer_datentyp (neue_size) etc...;
#Name/Bezeichnung und Eigenschaften eines Attributs abändern
use [name_der_db];
alter table [name_der_tabelle]
change column [name_der_spalte] [neuer_name_der_spalte] neuer_datentyp (neue_size);
#Eine ausgewählte Tabelle umbenennen rename table [name_der_tabelle] to [neuer_name_der_tabelle];
#Eine ausgewählte Tabelle löschen drop table [name_der_tabelle];
#Eine ausgewählte Datenbank löschen drop database [name_der_db];
#Eine Tabelle innerhalb einer Datenbank kopieren
use [name_der_db];
create table [name_der_neuen_tabelle] like [name_der_originaltabelle];
insert [name_der_neuen_tabelle] SELECT * FROM [name_der_originaltabelle];
#Einen Primary Key (Primärschlüssel) definieren
1. Weg direkt bei Erstellung einer Tabelle:
create table [name_der_tabelle] (
[name_der_spalte_1] datentyp (size),
[name_der_spalte_2] datentyp (size),
[name_der_spalte_X] datentyp (size),
primary key ([name_der_spalte_die_PK_werden_soll])
);
2. Weg nachträglich einem bereits erstellten Attribut hinzufügen:
alter table [name_der_tabelle]
add primary key ([name_des_attributs])
# Auto Inkrement für einen Primärschlüssel definieren
1. Weg nachträglich für ein bereits erstellten Primary Key:
alter table [name_der_tabelle]
modify [name_des_primary_key_attributs] datentyp (size) auto_increment;
2. Weg beim erstellen einer Tabelle:
create table [name_der_tabelle] (
[name_der_spalte_1] datentyp (size) auto_increment,
[name_der_spalte_2] datentyp (size),
[name_der_spalte_X] datentyp (size),
primary key ([name_der_spalte_1])
);
# Startwert für Auto Inkrement definieren: alter table [name_der_tabelle] auto_increment=startwertX; Wichtig: auto_increment muss bereits für den betreffenden Schlüssel aktiviert sein!
XAMPP ist eine freie Software von Apache die es beispielsweise zu Testzwecken erlaubt, auf einfache Weise verschiedene Serverdienste auf dem eigenen PC zu starten. Dies funktioniert sowohl auf Windows als auch unter MacOS und Linux.
Zu den Serverdiensten gehören:
XAMPP Homepage & Download (Externer Link)
WICHTIG! Aktueller Bug in XAMPP auf Windows: Sollte XAMPP beim Beenden Fehlermeldungen erzeugen dann einfach so lange auf X und OK Klicken bis eine Reaktion erfolgt.
PATH: (Pfad zur Datenbank, bei XAMPP localhost/ bzw. localhost/phpmyadmin/index.php)
USER: (Benutzername, bei XAMPP root)
PASSWORD: (Passwort, bei XAMPP kein(!) Passwort)
Port: 3306 MySQL Datenbankzugriff für externe Programme (bsp. PHPmyAdmin)
Port: 80 http Protokoll für PHPmyAdmin
Port: 443 https Protokoll für PHPmyAdmin
SQL-Befehle Aufschrieb 02.05.2022 (PDF)
SQL-Befehle Aufschrieb 03.05.2022 (PDF)
SQL-Aufgaben Teil 1 vom 03.05.2022 mit Lösung (PDF)
SQL-Befehle Aufschrieb 04.05.2022 (PDF)
SQL-Aufgaben Teil 2 vom 04.05.2022 mit Lösung (PDF)
SQL-Befehle Aufschrieb 05.05.2022 Teil 1 (PDF)
SQL-Befehle Aufschrieb 05.05.2022 Teil 2 (PDF)
SQL-Befehle Aufschrieb 06.05.2022 (PDF)