SERVER
Hier sind globale Einstellungen des Datenbank-Servers abgelegt wie der Standard-Zeichensatz für die Connection, Zeit-Zone, Benutzer und deren Rechte, aber auch die Liste der Datenbanken.
Hier bekommt man z.B. Informationen zum Host, Db-Name und Benutzern und deren Rechte.
SELECT * FROM mysql.db
Hier bekommt man z.B. Informationen zum Host, Benutzer, Passwort und Rechte.
SELECT * FROM mysql.user
DATABASE
Hier sind/werden globale Eigenschaften der Datenbank wie der Zeichensatz "CHARACTER SET" (z.B. utf8), COLLATE (z.B. latin1_german1_ci) und der Name der Datenbank gespeichert,
SET CHARACTER SET `utf8`;
SET NAMES 'utf8';
aber auch Schema Informationen (information_schema), also Eigenschaften von Tabellen, Feldern, Privilegien,... .
SELECT * FROM information_schema.COLUMNS
WHERE table_name = 'myTable' AND table_schema = 'myDBName' AND column_name = 'myField';
Hier bekommt man z.B. als Antwort alle Informationen zu einem Feld (myField) der Tabelle (myTable) aus der Datenbank (myDBName):
COLUMN_DEFAULT | Standard-Wert des Feldes z.B. NULL, CURRENT_TIMESTAMP, ... |
IS_NULLABLE | ob das Feld den Wert Null annehmen kann |
DATA_TYPE | Datenfeld Typ wie z.B. varchar, longtext, int, bigint, ... |
CHARACTER_MAXIMUM_LENGTH | maximale Feldlänge bei Felder mit Zeicheninhalt |
NUMERIC_PRECISION | Genauigkeit von Zahlenfeldern (angezeigte Stellen) |
NUMERIC_SCALE | Dezimal Nachkommastellen |
CHARACTER_SET_NAME | Zeichensatz z.B. utf8 |
COLLATION_NAME | Zeichensatz Raum z.B. utf8_general_ci |
COLUMN_TYPE | Datenfeld Typ mit angabe der Größe z.B. varchar(32), int(11) unsigned, ... |
COLUMN_KEY |
Schlüssel, PRI (Primärschlüssel /Primary Key), MUL (Index / Index), UNI (eindeutiger Index / Unique Key) |
EXTRA |
z.B. auto_increment |
und viele mehr. |
Diese Möglichkeit ist z.B. sehr interessant um dynamisch Eingabemasken zu generieren, da dann bei einer Datenbankänderung keine Änderung im Programm erforderlich ist.
EVENT
Ereignisse / Aufgaben die zu einem bestimmten Zeitpunkt durch einen Scheduler-Thread ausgeführt werden.
FUNCTION & PROCEDURE
Funktionen zur Datenmanipulation ohne das ein externer Insert oder Updateetc. aufgerufen werden muss, Aufruf über CALL.
Bekannt als Stored Procedures.
TRIGGER
Ein Trigger ist eine Aktionen die an ein Ereignis für eine Tabelle gebunden sind.
TABLE
Tabellen zum Speichern der Daten.
VIEW
Sichten auf Tabellen bzw. übergreifend über mehrere Tabellen, gespeicherte (optimierte) Abfrage.