MySQL-Datentypen
MySQL-Datentyp-Definitionen im Bereich der Datenbank-Optimierung ist sehr wichtig.
MySQL unterstützt viele Arten können in drei Kategorien eingeteilt werden: numerisch, Datum / Uhrzeit und String (Zeichen) Typen.
Wert Typ
MySQL unterstützt alle Standard-SQL-numerischen Datentypen.
Diese Typen umfassen strikte numerische Datentypen (INTEGER, SMALLINT, DECIMAL und NUMERIC), sowie die ungefähren numerischen Datentypen (float, real und double precision).
Schlüsselwort INT ist ein Synonym für INTEGER, und das Schlüsselwort Dezember ist ein Synonym für DECIMAL.
BIT-Datentyp speichert Bitfeldwerte und unterstützt MyISAM, MEMORY, InnoDB und BDB-Tabellen.
Da der SQL-Standard unterstützt MySQL auch die Integer-Typen TINYINT, MEDIUMINT und BIGINT. Die folgende Tabelle zeigt die Lagerung und den Bereich für jede Integer-Typ erforderlich.
Typ | Größe | Range (Gezeichnet) | Range (unsigned) | Verwendung |
---|---|---|---|---|
TINYINT | 1 byte | (-128.127) | (0255) | Kleine ganzzahlige Werte |
SMALLINT | 2 Bytes | (768,32 -32 767) | (535 0,65) | Integer-Wert |
MEDIUMINT | 3 Bytes | (-8388 608,8 388 607) | (0.16 777215) | Integer-Wert |
INT oder INTEGER | 4 Bytes | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | Integer-Wert |
BIGINT | 8 Bytes | (-9.233.372.036.854.775 808,9 223.372.036.854.775 807) | (0,18 446.744.073.709.551 615) | Maximale Integer-Wert |
FLOAT | 4 Bytes | (-3,402 823 466 E + 38,1.175 494 351 E-38), 0, (1.175 494 351 E-38,3.402 823 466 351 E + 38) | 0, (1.175 494 351 E-38,3.402 823 466 E + 38) | Single-Precision Floating-Point-Werte |
DOUBLE | 8 Bytes | (1,797 693 134 862 315 7 E + 308,2.225 073 858 507 201 4 E-308), 0, (2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E + 308) | 0, (2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E + 308) | Double-Precision-Fließkommawerte |
DECIMAL | Von DECIMAL (M, D), wenn M> D, M + 2 ist ansonsten D + 2 | Es hängt von den Werten von M und D | Es hängt von den Werten von M und D | Dezimalwert |
Typen Datum und Uhrzeit
Es gibt das Datum und die Uhrzeit für die Art des Zeitwerts von DATETIME-, DATE, TIMESTAMP, TIME und YEAR.
Jeder Typ hat eine Reihe von gültigen Werte Zeit und eine "Nullwert", verwenden Sie den "Nullwert", wenn der Wert der angegebenen ungesetzliche MySQL nicht dargestellt werden kann.
TIMESTAMP-Typ hat proprietäre automatische Update-Funktion, die später beschrieben wird.
Typ | Größe (Byte) | Anwendungsbereich | Format | Verwendung |
---|---|---|---|---|
DATUM | 3 | 1000.01.01 / 9999-12-31 | YYYY-MM-DD | Datumswerte |
ZEIT | 3 | '-838: 59: 59 "/" 838: 59: 59' | HH: MM: SS | Zeitwert oder die Dauer |
JAHR | 1 | 1901/2155 | YYYY | Jahr Wert |
DATETIME- | 8 | 1000-01-0100: 00: 00 / 9999-12-31 23.59.59 | YYYY-MM-DD HH: MM: SS | Mischen Datums- und Zeitwerte |
TIMESTAMP | 4 | Irgendwann 00/2037 Jahr: 1970-01-01 00.00 | YYYYMMDD HHMMSS | Mischen Datums- und Uhrzeitwert, ein Zeitstempel |
String-Typ
Es bezieht sich auf einen String-Typ CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM und SET. In diesem Abschnitt wird beschrieben, wie diese Typen funktionieren und wie diese Typen in der Abfrage zu verwenden.
Typ | Größe | Verwendung |
---|---|---|
CHAR | 0-255 Bytes | Zeichenfolge fester Länge |
VARCHAR | 0-65535 Bytes | Zeichenfolgen variabler Länge |
TINYBLOB | 0-255 Bytes | Nicht mehr als 255 Zeichen in Binärkette |
TINYTEXT | 0-255 Bytes | Kurztextstrings |
BLOB | 0-65535 Bytes | Lange Textdaten in binärer Form |
TEXT | 0-65535 Bytes | Lange Textdaten |
MEDIUMBLOB | 0-16777215 Bytes | Binäre Form von mittlerer Länge Textdaten |
MEDIUM | 0-16777215 Bytes | Mittlere Länge von Textdaten |
LONGBLOB | 0-4294967295 Bytes | Große Textdaten in binärer Form |
LONG | 0-4294967295 Bytes | Große Textdaten |
Ähnliche CHAR und VARCHAR-Typ, aber sie verschiedene Möglichkeiten, zu speichern und abzurufen. Die maximale Länge und ob Leerzeichen beibehalten werden, es ist auch anders. Lagerung oder Abrufprozess ohne Fall-Konvertierung.
BINARY und VARBINARY Typ ähnelt CHAR und VARCHAR, mit der Ausnahme, dass sie Binärzeichenfolgen eher als nicht-binäre Zeichenketten enthalten. Das heißt, sie Byte-Strings statt Zeichenketten enthalten. Das bedeutet, dass sie keinen Zeichensatz haben, Sortierung und Vergleiche auf den numerischen Werten der Bytes basiert.
BLOB ist ein binäres großes Objekt, das eine variable Menge an Daten aufnehmen kann. Es gibt vier BLOB-Typen: TINYBLOB, BLOB, MEDIUMBLOB und LONGBLOB. Sie unterscheiden sich nur Platz die maximale Länge Wert.
Es gibt vier Typen TEXT: TINYTEXT, TEXT, MEDIUM und LONG. Diese entsprechen den vier Arten von BLOB-Typ, die gleiche maximale Längen und Speicheranforderungen.