Hier finden Sie einen Überblick über die momentan in MySQL unterstützten Datentypen sowie viele Funktionen, die Sie für Ihre Abfragen einsetzen können, um Ihre Applikationen weiter zu verbessern.
Die Beschreibungen stellen eine vereinfachte und abgekürzte Version der Beschreibungen
von der MySQL-Homepage (http://www.mysql.com/
) dar. Weitere Informationen
entnehmen Sie bitte der offiziellen Dokumentation.
TINYINT [UNSIGNED] - Eine sehr kleine ganze Zahl. Der vorzeichenbehaftete Bereich liegt zwischen -128 und 127. Der vorzeichenlose Bereich liegt zwischen 0 und 255.
SMALLINT [UNSIGNED] - Eine kleine ganze Zahl. Der vorzeichenbehaftete Bereich liegt zwischen -32768 und 32767. Der vorzeichenlose Bereich liegt zwischen 0 und 65535.
MEDIUMINT [UNSIGNED] - Eine mittelgroße ganze Zahl. Der vorzeichenbehaftete Bereich liegt zwischen -8388608 und 8388607. Der vorzeichenlose Bereich liegt zwischen 0 und 16777215.
INT [UNSIGNED] - Eine normalgroße ganze Zahl. Der vorzeichenbehaftete Bereich liegt zwischen -2147483648 und 2147483647. Der vorzeichenlose Bereich liegt zwischen 0 und 4294967295.
INTEGER [UNSIGNED] - Ein Synonym für INT.
BIGINT [UNSIGNED] - Eine große ganze Zahl. Der vorzeichenbehaftete Bereich liegt zwischen -9223372036854775808 und 9223372036854775807. Der vorzeichenlose Bereich liegt zwischen 0 und 18446744073709551615.
FLOAT - Eine kleine Fließkommazahl (einfache Genauigkeit). Kann nicht vorzeichenlos sein. Erlaubte Werte liegen im Bereich zwischen -3.402823466E+38 bis -1.175494351E- 38, 0 und 1.175494351E-38 bis 3.402823466E+38
DOUBLE - Eine normal große Fließkommazahl (doppelte Genauigkeit). Kann nicht vorzeichenlos sein. Erlaubte Werte liegen im Bereich zwischen - 1.7976931348623157E+308 und -2.2250738585072014E-308, 0 und 2.2250738585072014E-308 bis 1.7976931348623157E+308.
DECIMAL - Eine nicht gepackte Fließkommazahl. Kann nicht vorzeichenlos sein. Verhält sich wie eine CHAR-Spalte: »Nicht gepackt« bedeutet, dass die Zahl als Zeichenkette abgelegt wird, wobei für jede Stelle des Werts ein Zeichen verwendet wird.
DATETIME - Eine Datum/Zeit-Kombination. Der unterstützte Bereich liegt zwischen '1000-01-01 00:00:00' und '9999-12-31 23:59:59'. MySQL zeigt DATETIME-Werte im Format 'YYYY-MM-DD HH:MM:SS' an, aber Sie können DATETIME-Spalten sowohl Zeichenketten als auch Zahlen zuweisen.
TIMESTAMP - Ein Zeitstempel. Der Bereich liegt zwischen '1970-01-01 00:00:00' und irgendwann im Jahr 2037.
YEAR - Ein Jahr in 2- oder 4-stelligem Format (der Standard verwendet 4 Stellen) Die erlaubten Werte sind 1901 bis 2155 und 0000 im 4-stelligen Format und 1970-2069 im 2-stelligen Format (70-69).
CHAR(M) [BINARY] - Eine Zeichenkette fester Länge, die rechts immer mit Leerzeichen auf die angegebene Länge aufgefüllt wird. Der Bereich von M liegt zwischen 1 und 255 Zeichen. Führende Leerzeichen werden beim Laden des Werts entfernt. CHAR-Werte werden ohne Berücksichtigung der Groß-/Kleinschreibung sortiert und verglichen, wobei auf den Standardzeichensatz zurückgegriffen wird, es sei denn, das Schlüsselwort BINARY wurde angegeben.
VARCHAR(M) [BINARY] - Eine Zeichenkette variabler Länge. Hinweis: Beim Speichern des Werts werden führende Leerzeichen entfernt. Der Wert von M liegt zwischen 1 und 255 Zeichen. VARCHAR-Werte werden ohne Berücksichtigung der Groß- /Kleinschreibung sortiert und verglichen, es sei denn, das Schlüsselwort BINARY wurde angegeben.
TINYBLOB/TINYTEXT - Eine BLOB- oder TEXT-Spalte mit einer maximalen Länge von 255 (28-1) Zeichen.
BLOB/TEXT - Eine Spalte mit einer maximalen Länge von 65535 (216-1) Zeichen.
MEDIUMBLOB/MEDIUMTEXT - Eine BLOB- oder TEXT-Spalte mit einer maximalen Länge von 16777215 (224-1) Zeichen.
LONGBLOB/LONGTEXT - Eine BLOB- oder TEXT-Spalte mit einer maximalen Länge von 4294967295 (232-1) Zeichen.
AND
oder &&
- Logisches AND
. Gibt 0 zurück, wenn ein Argument 0 oder NULL ist,
andernfalls 1.
IS NULL/IS NOT NULL
- Prüft, ob ein Wert NULL
ist (oder nicht).
<ausdruck> BETWEEN <min> AND <max>
- Überprüft, ob ein Ausdruck zwischen zwei
Werten liegt.
<ausdruck> IN (<wert 1>,<...>)
- Vergleicht einen Ausdruck mit einer Liste. Gibt true
zurück, wenn der Ausdruck mit einem Wert in der Liste übereinstimmt.
<ausdruck> NOT IN (<wert 1>,<...>)
- Kehrt die vorhergehende Funktion um.
ISNULL(<ausdruck>)
- Gibt true
zurück, wenn der Ausdruck einen NULL
-Wert hat.
<ausdruck> LIKE <muster>
- Mustervergleich mithilfe einfacher regulärer Ausdrücke von
SQL.
<ausdruck> NOT LIKE <muster>
- Das Gegenteil des vorherigen Vergleichs.
<ausdruck> REGEXP <muster> / <ausdruck> RLIKE <muster>
- Führt einen
Mustervergleich eines Zeichenkettenausdrucks ausdruck
mit einem Muster muster
durch.
<ausdruck> NOT REGEXP <muster> / <ausdruck> NOT RLIKE <muster>
- Das Gegenteil
des vorherigen Vergleichs.
STRCMP(<ausdruck1>,<ausdruck2>) -
Gibt 0 zurück, wenn die Zeichenketten gleich
sind, -1, wenn das erste Argument kleiner als das zweite ist (unter Berücksichtigung der
aktuellen Suchreihenfolge), andernfalls 1.
MATCH (<feldname1>,<feldname2>,<...>) AGAINST <ausdruck> - MATCH ... AGAINST()
wird für Volltextsuchen verwendet und gibt das Relevanz/Ähnlichkeits-Maß zwischen dem
Text in den Feldern und dem Ausdruck zurück.
ABS(X)
- -Gibt den Absolutwert von x zurück.
SIGN(X)
- Gibt das Vorzeichen des Arguments als -1, 0 oder 1 zurück, abhängig davon, ob
X
negativ, Null oder positiv ist.
MOD(N,M) -
% Modulo (wie der %-Operator in C). Gibt den Rest der ganzzahligen
Division von N
durch M
zurück.
FLOOR(X)
- Gibt die größte ganze Zahl kleiner x zurück.
CEILING(X)
- Gibt die kleinste ganze Zahl größer X
zurück.
ROUND(X)
- Gibt das Argument X
zurück, gerundet auf die nächste ganze Zahl.
ROUND(X,D)
- Gibt das Argument X
zurück, gerundet auf eine Zahl mit D
Dezimalstellen.
Ist D
gleich 0, hat das Ergebnis keinen Dezimalpunkt und keinen Bruchteil.
EXP(X)
- Gibt den Wert von e
(die Basis des natürlichen Logarithmus) erhoben in die
Potenz X
zurück.
LOG(X)
- Gibt den natürlichen Logarithmus von X
zurück.
LOG10(X)
- Gibt den 10er-Logarithmus von X
zurück.
POW(X,Y) / POWER(X,Y)
- Gibt X
in die Potenz Y
erhoben zurück.
SQRT(X)
- Gibt die nicht-negative Quadratwurzel von X
zurück.
PI()
- Gibt den Wert von PI zurück.
COS(X)
- Gibt den Kosinus von X
zurück, wobei X
in Radianten angegeben wird.
SIN(X)
- Gibt den Sinus von X
zurück, wobei X
in Radianten angegeben wird.
TAN(X)
- Gibt den Tangens von X
zurück, wobei X
in Radianten angegeben wird.
ACOS(X)
- Gibt den Arkus-Kosinus von X
zurück, d.h. den Wert, dessen Kosinus X
ist. Gibt
NULL
zurück, wenn X
nicht im Bereich zwischen -1 und 1 liegt.
ASIN(X)
- Gibt den Arkus-Sinus von X
zurück, d.h. den Wert, dessen Sinus X
ist. Gibt NULL
zurück, wenn X
nicht im Bereich zwischen -1 und 1 liegt.
ATAN(X)
- Gibt den Arkus-Tangens von X
zurück, d.h. den Wert, dessen Tangens gleich X
ist.
ATAN2(X,Y)
- Gibt den Arkus-Tangens der beiden Variablen X
und Y
zurück. Erfolgt
ähnlich der Berechnung des Arkus-Tangens von Y
/ X
, außer dass die Vorzeichen der
beiden Argumente verwendet werden, um den Quadranten des Ergebnis zu ermitteln.
COT(X)
- Gibt den Kotangens von X
zurück.
RAND() / RAND(N)
- Gibt einen zufälligen Fließkommawert im Bereich zwischen 0 und
1.0 zurück. Wird ein ganzzahliges Argument N
angegeben, wird dieses als Ausgangswert
verwendet.
LEAST(X,Y,...)
- Gibt für zwei oder mehr Argumente das kleinste der Argumente zurück.
GREATEST(X,Y,...)
- Gibt für zwei oder mehr Argumente das größte der Argumente
zurück.
RADIANS(X)
- Gibt das Argument X
zurück, umgewandelt von Grad in Radianten.
TRUNCATE(X,D)
- Gibt die Zahl X
zurück, gekürzt auf D
Dezimalstellen. Ist D
gleich 0, hat
das Ergebnis keinen Dezimalpunkt und keinen Bruchteil.
ASCII(str)
- Gibt den ASCII-Code des linken Zeichen des Strings str
zurück. Ist str
eine leere Zeichenkette, wird 0 zurückgegeben. Ist str
gleich NULL
, wird NULL
zurückgegeben.
CONV(N,von_basis,in_basis)
- Wandelt Zahlen zwischen verschiedenen Zahlenbasen
um. Gibt eine Zeichenkettendarstellung der Zahl N
zurück, umgewandelt von von_basis
in in_basis
.
BIN(N)
- Gibt eine Zeichenkettendarstellung des binären Werts von N
zurück.
OCT(N)
- Gibt eine Zeichenkettendarstellung des oktalen Werts von N
zurück.
HEX(N)
- Gibt eine Zeichenkettendarstellung des hexadezimalen Werts von N
zurück.
CHAR(N,...)
- Interpretiert die Argumente als ganze Zahlen und gibt eine Zeichenkette
zurück, die aus den Zeichen besteht, die die ASCII-Codes dieser ganzen Zahlen darstellen.
CONCAT(str1,str2,...)
- Gibt die Zeichenkette zurück, die aus der Konkatenation der
beiden Werte entsteht.
CONCAT_WS(trennzeichen, str1, str2,...)
- CONCAT_WS()
steht für CONCAT With
Separator
(Mit Trennzeichen konkatenieren). Dies ist eine Sonderform von CONCAT()
.
Das erste Argument ist das Trennzeichen für die restlichen Argumente.
LENGTH(str)
- Gibt die Länge der Zeichenkette str
zurück.
LOCATE(substr,str) / POSITION(substr IN str)
- Gibt die Position des ersten
Auftretens der Teilzeichenkette substr
in der Zeichenkette str
zurück. Gibt 0 zurück,
falls substr
nicht in str
enthalten ist.
LOCATE(substr,str,pos)
- Gibt die Position des ersten Auftretens der Teilzeichenkette
substr
in der Zeichenkette str
ab der Position pos
zurück. Gibt 0 zurück, falls substr
nicht in str
enthalten ist.
INSTR(str,substr)
- Gibt die Position des ersten Auftretens der Teilzeichenkette substr
in der Zeichenkette str
zurück. Entspricht der LOCATE()
-Version mit zwei Argumenten,
außer dass die Argumente vertauscht werden.
LPAD(str,len,padstr)
- Gibt die Zeichenkette str
zurück, links mit der Zeichenkette
padstr
aufgefüllt, bis str
die Länge len
hat.
RPAD(str,len,padstr)
- Gibt die Zeichenkette str
zurück, rechts mit der Zeichenkette
padstr
aufgefüllt, bis str
die Länge len
hat.
LEFT(str,len)
- Gibt die linken len
-Zeichen aus der Zeichenkette str
zurück.
RIGHT(str,len) -
Gibt die rechten len
-Zeichen aus der Zeichenkette str
zurück.
SUBSTRING(str,pos,len) / MID(str,pos,len)
- Gibt eine Teilzeichenkette mit len
-
Zeichen aus der Zeichenkette str
zurück, beginnend an der Position pos
.
SUBSTRING(str,pos)
- Gibt eine Teilzeichenkette aus der Zeichenkette str
zurück,
beginnend an der Position pos
.
LTRIM(str)
- Gibt die Zeichenkette str
zurück, wobei führende Leerzeichen entfernt
werden.
RTRIM(str)
- Gibt die Zeichenkette str
zurück, wobei nachfolgende Leerzeichen entfernt
werden.
SOUNDEX(str)
- Gibt eine soundex
-Zeichenkette aus str
zurück. Zwei Zeichenketten, die
ähnlich klingen, sollten identische soundex
-Zeichenketten haben.
SPACE(N)
- Gibt eine Zeichenkette aus N
Leerzeichen zurück.
REPLACE(str,von_str,in_str)
- Gibt die Zeichenkette str
zurück, wobei alle Auftreten
der Zeichenkette von_str
durch die Zeichenkette in_str
ersetzt werden.
REPEAT(str,count)
- Gibt eine Zeichenkette zurück, in der str
count
-mal wiederholt
wird. Ist count
<= 0, gibt die Funktion eine leere Zeichenkette zurück. Sind str
oder
count
gleich NULL
, gibt die Funktion NULL
zurück.
REVERSE(str)
- Gibt die Zeichenkette str
zurück, wobei die Reihenfolge der Zeichen
umgekehrt ist.
INSERT(str,pos,len,newstr)
- Gibt die Zeichenkette str
zurück, wobei die
Teilzeichenkette, die an Position pos
beginnt und len
Zeichen lang ist, durch die
Zeichenkette newstr
ersetzt wird.
LCASE(str) / LOWER(str)
- Gibt die Zeichenkette str
zurück, wobei alle Zeichen in
Kleinbuchstaben umgewandelt werden.
UCASE(str) / UPPER(str)
- Gibt die Zeichenkette str
zurück, wobei alle Zeichen in
Großbuchstaben umgewandelt werden.
DAYOFWEEK(datum)
- Gibt den Indexwert des Wochentags für das Datum zurück (1 =
Sonntag, 2 = Montag usw.).
WEEKDAY(datum)
- Gibt den Wochenindex für das Datum zurück (0 = Montag, 1 =
Dienstag usw., 6 = Sonntag).
DAYOFMONTH(datum)
- Gibt den Tag im Monat für das Datum zurück, der im Bereich
zwischen 1 und 31 liegt.
DAYOFYEAR(datum)
- Gibt den Tag im Jahr für das Datum zurück, der im Bereich zwischen
1 und 366 liegt.
MONTH(datum)
- Gibt den Monat für das Datum zurück, der im Bereich zwischen 1 und 12
liegt.
DAYNAME(datum)
- Gibt den Namen des Wochentags für das Datum zurück.
MONTHNAME(datum)
- Gibt den Namen des Monats für das Datum zurück.
QUARTER(datum)
- Gibt das Vierteljahr des Jahres für das Datum zurück, das im Bereich
zwischen 1 und 4 liegt.
WEEK(datum) / WEEK(datum,first)
- Gibt für ein einziges Argument die Woche für das
Datum zurück, die im Bereich zwischen 0 und 53 liegt.
YEAR(datum)
- Gibt das Jahr für das Datum zurück, das im Bereich zwischen 1000 und
9999 liegt.
YEARWEEK(datum) / YEARWEEK(datum,first)
- Gibt das Jahr und die Woche für ein
Datum zurück.
HOUR(zeit)
- Gibt die Stunde für die Zeit zurück, die im Bereich zwischen 0 und 23
liegen kann.
MINUTE(zeit)
- Gibt die Minute für die Zeit zurück, die im Bereich zwischen 0 und 59
liegt.
SECOND(zeit)
- Gibt die Sekunde für die Zeit zurück, die im Bereich zwischen 0 und 59
liegt.
TO_DAYS(datum)
- Gibt für ein Datum die Nummer des Tages zurück (die Anzahl der
Tage seit dem Jahr 0).
FROM_DAYS(N)
- Gibt für eine Tagesnummer N
den Datumswert zurück.
CURDATE() / CURRENT_DATE
- Gibt das aktuelle Datum zurück.
CURTIME() / CURRENT_TIME
- Gibt die aktuelle Zeit zurück.
NOW()-
Gibt das aktuelle Datum und die aktuelle Zeit zurück.
SEC_TO_TIME(sekunden)
- Gibt das Argument sekunden
zurück, umgewandelt in Stunden,
Minuten und Sekunden.
TIME_TO_SEC(zeit)
- Gibt das Argument in Sekunden umgewandelt zurück.
COUNT(<ausdruck>)
- Gibt einen Zähler der Anzahl der Werte ungleich NULL
zurück, die
durch eine SELECT
-Anweisung aus der Zeile abgerufen wurden.
COUNT(DISTINCT <ausdruck>,[<ausdruck...>])
- Gibt einen Zähler der Anzahl
unterschiedlicher Werte ungleich NULL
zurück.
AVG(<ausdruck>)
- Gibt den Durchschnittswert für ausdruck
zurück.
MIN(<ausdruck>)
- Gibt den Minimumwert für ausdruck
zurück.
MAX(<ausdruck>)
- Gibt den Maximumwert für ausdruck
zurück.
SUM(<ausdruck>)
- Gibt die Summe für ausdruck
zurück. Beachten Sie, dass die Funktion
NULL
zurückgibt, wenn die Ergebnismenge keine Zeilen hat.
STD(<ausdruck>) / STDDEV(<ausdruck>) -
Gibt die Standardabweichung für ausdruck
zurück.