MariaDB - Datentypen
Gute Felddefinitionen sind für die Optimierung Ihrer Datenbank unerlässlich. Der ideale Ansatz erfordert, dass Sie ausschließlich ein Feld des Typs und der Größe verwenden, die benötigt werden. Wenn Sie beispielsweise nur ein Feld mit einer Breite von fünf Zeichen verwenden, definieren Sie kein Feld mit einer Breite von 20 Zeichen. Feld- (oder Spalten-) Typen werden aufgrund der im Feld gespeicherten Datentypen auch als Datentypen bezeichnet.
MariaDB-Datentypen können in numerische Werte, Datums- und Uhrzeitwerte sowie Zeichenfolgenwerte unterteilt werden.
Numerische Datentypen
Die von MariaDB unterstützten numerischen Datentypen lauten wie folgt:
TINYINT - Dieser Datentyp repräsentiert kleine Ganzzahlen, die in den vorzeichenbehafteten Bereich von -128 bis 127 und den vorzeichenlosen Bereich von 0 bis 255 fallen.
BOOLEAN - Dieser Datentyp verknüpft einen Wert 0 mit "false" und einen Wert 1 mit "true".
SMALLINT - Dieser Datentyp repräsentiert Ganzzahlen im vorzeichenbehafteten Bereich von -32768 bis 32768 und im vorzeichenlosen Bereich von 0 bis 65535.
MEDIUMINT - Dieser Datentyp repräsentiert Ganzzahlen im vorzeichenbehafteten Bereich von -8388608 bis 8388607 und im vorzeichenlosen Bereich von 0 bis 16777215.
INT(also INTEGER)- Dieser Datentyp repräsentiert eine Ganzzahl normaler Größe. Wenn der Bereich als vorzeichenlos markiert ist, erstreckt er sich von 0 bis 4294967295. Wenn er signiert ist (Standardeinstellung), erstreckt sich der Bereich von -2147483648 bis 2147483647. Wenn eine Spalte auf ZEROFILL (ein vorzeichenloser Status) gesetzt ist, werden alle ihre Werte durch Nullen vorangestellt M Ziffern im INT-Wert.
BIGINT - Dieser Datentyp repräsentiert Ganzzahlen im vorzeichenbehafteten Bereich von 9223372036854775808 bis 9223372036854775807 und im vorzeichenlosen Bereich von 0 bis 18446744073709551615.
DECIMAL(auch DEC, NUMERIC, FIXED) - Dieser Datentyp repräsentiert präzise Festkommazahlen, wobei M seine Ziffern und D die Ziffern nach der Dezimalstelle angibt. Der M-Wert fügt weder "-" noch den Dezimalpunkt hinzu. Wenn D auf 0 gesetzt ist, wird kein Dezimal- oder Bruchteil angezeigt und der Wert wird beim EINFÜGEN auf das nächste Dezimal gerundet. Die maximal zulässige Stelle ist 65 und das Maximum für Dezimalstellen ist 30. Der Standardwert für M bei Auslassung ist 10 und 0 für D bei Auslassung.
FLOAT - Dieser Datentyp repräsentiert eine kleine Gleitkommazahl mit dem Wert 0 oder eine Zahl innerhalb der folgenden Bereiche. -
-3,402823466E + 38 bis -1,175494351E-38
1.175494351E-38 bis 3.402823466E + 38
DOUBLE (ebenfalls REAL und DOUBLE PRECISION) - Dieser Datentyp repräsentiert Gleitkommazahlen normaler Größe mit dem Wert 0 oder innerhalb der folgenden Bereiche. -
-1.7976931348623157E + 308 bis -2.2250738585072014E-308
2.2250738585072014E-308 bis 1.7976931348623157E + 308
BIT- Dieser Datentyp stellt Bitfelder dar, wobei M die Anzahl der Bits pro Wert angibt. Wenn M weggelassen wird, ist der Standardwert 1. Bitwerte können mit „b '[Wert]'“ angewendet werden, wobei der Wert den Bitwert in 0s und 1s darstellt. Das Auffüllen mit Nullen erfolgt automatisch von links über die gesamte Länge. Zum Beispiel wird "10" zu "0010".
Datums- und Uhrzeitdatentypen
Die von MariaDB unterstützten Datums- und Uhrzeitdatentypen lauten wie folgt:
DATE - Dieser Datentyp repräsentiert einen Datumsbereich von „1000-01-01“ bis „9999-12-31“ und verwendet das Datumsformat „JJJJ-MM-TT“.
TIME - Dieser Datentyp repräsentiert einen Zeitbereich von "-838: 59: 59.999999" bis "838: 59: 59.999999".
DATETIME- Dieser Datentyp repräsentiert den Bereich "1000-01-01 00: 00: 00.000000" bis "9999-12-31 23: 59: 59.999999". Es wird das Format „JJJJ-MM-TT HH: MM: SS“ verwendet.
TIMESTAMP- Dieser Datentyp repräsentiert einen Zeitstempel im Format „JJJJ-MM-TT HH: MM: TT“. Es findet hauptsächlich Verwendung bei der Angabe des Zeitpunkts von Datenbankänderungen, z. B. Einfügen oder Aktualisieren.
YEAR- Dieser Datentyp repräsentiert ein Jahr im 4-stelligen Format. Das vierstellige Format ermöglicht Werte im Bereich von 1901 bis 2155 und 0000.
String DataTypes
Die von MariaDB unterstützten Zeichenfolgentypwerte lauten wie folgt:
String literals - Dieser Datentyp repräsentiert Zeichenfolgen in Anführungszeichen.
CHAR- Dieser Datentyp stellt eine rechts aufgefüllte Zeichenfolge mit fester Länge dar, die Leerzeichen mit der angegebenen Länge enthält. M steht für die Spaltenlänge von Zeichen in einem Bereich von 0 bis 255, der Standardwert ist 1.
VARCHAR - Dieser Datentyp stellt eine Zeichenfolge variabler Länge mit einem M-Bereich (maximale Spaltenlänge) von 0 bis 65535 dar.
BINARY - Dieser Datentyp repräsentiert binäre Bytezeichenfolgen, wobei M die Spaltenlänge in Bytes ist.
VARBINARY - Dieser Datentyp repräsentiert binäre Byte-Zeichenfolgen mit variabler Länge, wobei M die Spaltenlänge ist.
TINYBLOB- Dieser Datentyp repräsentiert eine Blob-Spalte mit einer maximalen Länge von 255 (28 - 1) Bytes. Im Speicher verwendet jeder ein Präfix mit einer Bytelänge, das die Bytemenge im Wert angibt.
BLOB- Dieser Datentyp repräsentiert eine Blob-Spalte mit einer maximalen Länge von 65.535 (216 - 1) Bytes. Im Speicher verwendet jeder ein Präfix mit einer Länge von zwei Bytes, das die Bytemenge im Wert angibt.
MEDIUMBLOB- Dieser Datentyp repräsentiert eine Blob-Spalte mit einer maximalen Länge von 16.777.215 (22 4 - 1) Bytes. Bei der Speicherung wird jeweils ein Präfix mit einer Länge von drei Bytes verwendet, das die Bytemenge im Wert angibt.
LONGBLOB- Dieser Datentyp repräsentiert eine Blob-Spalte mit einer maximalen Länge von 4.294.967.295 (2 32 - 1) Bytes. Im Speicher verwendet jeder ein Präfix mit einer Länge von vier Bytes, das die Bytemenge im Wert angibt.
TINYTEXT- Dieser Datentyp repräsentiert eine Textspalte mit einer maximalen Länge von 255 (2 8 - 1) Zeichen. Im Speicher verwendet jeder ein Präfix mit einer Bytelänge, das die Bytemenge im Wert angibt.
TEXT- Dieser Datentyp repräsentiert eine Textspalte mit einer maximalen Länge von 65.535 (2 16 - 1) Zeichen. Im Speicher verwendet jeder ein Präfix mit einer Länge von zwei Bytes, das die Bytemenge im Wert angibt.
MEDIUMTEXT- Dieser Datentyp repräsentiert eine Textspalte mit einer maximalen Länge von 16.777.215 (2 24 - 1) Zeichen. Bei der Speicherung wird jeweils ein Präfix mit einer Länge von drei Bytes verwendet, das die Bytemenge im Wert angibt.
LONGTEXT- Dieser Datentyp repräsentiert eine Textspalte mit einer maximalen Länge von 4.294.967.295 oder 4 GB (2 32 - 1) Zeichen. Im Speicher verwendet jeder ein Präfix mit einer Länge von vier Bytes, das die Bytemenge im Wert angibt.
ENUM - Dieser Datentyp stellt ein Zeichenfolgenobjekt dar, das nur einen einzigen Wert aus einer Liste enthält.
SET- Dieser Datentyp repräsentiert ein Zeichenfolgenobjekt mit null oder mehr Werten aus einer Liste mit maximal 64 Mitgliedern. SET-Werte werden intern als ganzzahlige Werte angezeigt.