Benutzer-Werkzeuge

Webseiten-Werkzeuge


Writing /app/www/public/data/meta/datenbanken.meta failed
Unable to save metadata file. Hint: disk full; file permissions; safe_mode setting.
datenbanken

SQL-Datenbanken

Hinweis: Diese Seite erhebt keinen Anspruch auf Vollständigkeit, es handelt sich nur um eine Sammlung einzelner Informationen.

MySQL Dokumentation

Wissenswertes

NULL

Der null Wert in SQL wird verwendet um ein Attributsfeld eines Datensatzes als leer zu kennzeichnen.

NOT NULL

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.

A_I (Auto Inkrement)

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.

" " und ' '

!!!!!!DIESER ABSCHNITT IST NICHT GANZ RICHTIG UND MUSS ÜBERARBEITET WERDEN!!!!!!

"Werte" werden zwischen " " gesetzt,
'Spalten' sowie 'Attribute' zwischen ' '

MySQL Datentypen

Nummern und Zahlen

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

Zeichenketten

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

Zeit und Datum

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

text (L) Datentyp für Text L steht für die Länge des Feldes.

Objekte (Dateien)

blob (Binary Large OBject) Datentyp für, unter anderem, Multimediadateien.


Relationales

Primary Key

Wird der Primary Key definiert, wird der Default-Wert des Attributes automatisch auf „NOT NULL“ gesetzt.

Foreign Key

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.


Befehle

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

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:

  • Apache Webserver inklusive PHP
  • MySQL Datenbank MariaDB inklusive PHPmyAdmin
  • FileZilla Fileserver
  • Mercury Mailserver
  • Tomcat Java Server

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.

Wichtig für eine Verbindung zum Datenbankserver (Connection):

PATH: (Pfad zur Datenbank, bei XAMPP localhost/ bzw. localhost/phpmyadmin/index.php)

USER: (Benutzername, bei XAMPP root)

PASSWORD: (Passwort, bei XAMPP kein(!) Passwort)

MySQL Standardports

Port: 3306 MySQL Datenbankzugriff für externe Programme (bsp. PHPmyAdmin)
Port: 80 http Protokoll für PHPmyAdmin
Port: 443 https Protokoll für PHPmyAdmin


Anhang und Downloads

datenbanken.txt · Zuletzt geändert: 2024/02/24 16:04 (Externe Bearbeitung)