MySQLi - Datentypen

Die richtige Definition der Felder in einer Tabelle ist wichtig für die Gesamtoptimierung Ihrer Datenbank. Sie sollten nur den Typ und die Größe des Feldes verwenden, das Sie wirklich verwenden müssen. Definieren Sie ein Feld nicht als 10 Zeichen breit, wenn Sie wissen, dass Sie nur 2 Zeichen verwenden werden. Diese Arten von Feldern (oder Spalten) werden nach dem auch als Datentypen bezeichnettype of data Sie werden in diesen Feldern speichern.

MySQLi verwendet viele verschiedene Datentypen, die in drei Kategorien unterteilt sind: numerisch, Datum und Uhrzeit sowie Zeichenfolgentypen.

Numerische Datentypen

MySQLi verwendet alle numerischen Standard-ANSI-SQL-Datentypen. Wenn Sie also von einem anderen Datenbanksystem zu MySQLi kommen, werden Ihnen diese Definitionen bekannt vorkommen. Die folgende Liste zeigt die gängigen numerischen Datentypen und ihre Beschreibungen -

  • INT- Eine ganzzahlige Ganzzahl, die mit oder ohne Vorzeichen signiert werden kann. Wenn signiert, liegt der zulässige Bereich zwischen -2147483648 und 2147483647. Wenn nicht signiert, liegt der zulässige Bereich zwischen 0 und 4294967295. Sie können eine Breite von bis zu 11 Stellen angeben.

  • TINYINT- Eine sehr kleine Ganzzahl, die mit oder ohne Vorzeichen signiert werden kann. Wenn signiert, liegt der zulässige Bereich zwischen -128 und 127. Wenn nicht signiert, liegt der zulässige Bereich zwischen 0 und 255. Sie können eine Breite von bis zu 4 Stellen angeben.

  • SMALLINT- Eine kleine Ganzzahl, die mit oder ohne Vorzeichen signiert werden kann. Wenn signiert, liegt der zulässige Bereich zwischen -32768 und 32767. Wenn nicht signiert, liegt der zulässige Bereich zwischen 0 und 65535. Sie können eine Breite von bis zu 5 Stellen angeben.

  • MEDIUMINT- Eine mittelgroße Ganzzahl, die mit oder ohne Vorzeichen signiert werden kann. Wenn signiert, liegt der zulässige Bereich zwischen -8388608 und 8388607. Wenn nicht signiert, liegt der zulässige Bereich zwischen 0 und 16777215. Sie können eine Breite von bis zu 9 Stellen angeben.

  • BIGINT- Eine große Ganzzahl, die mit oder ohne Vorzeichen signiert werden kann. Wenn signiert, liegt der zulässige Bereich zwischen -9223372036854775808 und 9223372036854775807. Wenn nicht signiert, liegt der zulässige Bereich zwischen 0 und 18446744073709551615. Sie können eine Breite von bis zu 20 Stellen angeben.

  • FLOAT(M,D)- Eine Gleitkommazahl, die nicht vorzeichenlos sein kann. Sie können die Anzeigelänge (M) und die Anzahl der Dezimalstellen (D) definieren. Dies ist nicht erforderlich und wird standardmäßig auf 10,2 gesetzt, wobei 2 die Anzahl der Dezimalstellen und 10 die Gesamtzahl der Ziffern (einschließlich Dezimalstellen) ist. Die Dezimalgenauigkeit kann für einen FLOAT bis zu 24 Stellen betragen.

  • DOUBLE(M,D)- Eine Gleitkommazahl mit doppelter Genauigkeit, die nicht vorzeichenlos sein kann. Sie können die Anzeigelänge (M) und die Anzahl der Dezimalstellen (D) definieren. Dies ist nicht erforderlich und wird standardmäßig auf 16,4 gesetzt, wobei 4 die Anzahl der Dezimalstellen ist. Die Dezimalgenauigkeit kann für ein DOPPELTES auf 53 Stellen gehen. REAL ist ein Synonym für DOUBLE.

  • DECIMAL(M,D) - Eine entpackte Gleitkommazahl, die nicht vorzeichenlos sein kann. Bei entpackten Dezimalstellen entspricht jede Dezimalstelle einem Byte. Das Definieren der Anzeigelänge (M) und der Anzahl der Dezimalstellen (D) ist erforderlich. NUMERIC ist ein Synonym für DECIMAL.

Datums- und Uhrzeittypen

Die MySQL-Datums- und Uhrzeitdatentypen sind -

  • DATE- Ein Datum im Format JJJJ-MM-TT zwischen 1000-01-01 und 9999-12-31. Beispielsweise würde der 30. Dezember 1973 als 1973-12-30 gespeichert.

  • DATETIME- Eine Kombination aus Datum und Uhrzeit im Format JJJJ-MM-TT HH: MM: SS zwischen 1000-01-01 00:00:00 und 9999-12-31 23:59:59. Zum Beispiel würde 3:30 Uhr nachmittags am 30. Dezember 1973 als 1973-12-30 15:30:00 gespeichert.

  • TIMESTAMP - Ein Zeitstempel zwischen Mitternacht, dem 1. Januar 1970 und irgendwann im Jahr 2037. Dies sieht aus wie das vorherige DATETIME-Format, nur ohne die Bindestriche zwischen den Zahlen. Am 30. Dezember 1973 um 3:30 Uhr nachmittags wird 19731230153000 (JJJJMMTTHHMMSS) gespeichert.

  • TIME - Speichert die Zeit im Format HH: MM: SS.

  • YEAR(M)- Speichert ein Jahr im zweistelligen oder vierstelligen Format. Wenn die Länge mit 2 angegeben ist (z. B. JAHR (2)), kann das JAHR 1970 bis 2069 (70 bis 69) betragen. Wenn die Länge als 4 angegeben ist, kann YEAR zwischen 1901 und 2155 liegen. Die Standardlänge ist 4.

Zeichenfolgentypen

Obwohl numerische und Datumstypen Spaß machen, werden die meisten Daten, die Sie speichern, im Zeichenfolgenformat vorliegen. Diese Liste beschreibt die gängigen String-Datentypen in MySQLi.

  • CHAR(M)- Eine Zeichenfolge mit fester Länge zwischen 1 und 255 Zeichen (z. B. CHAR (5)), die beim Speichern mit Leerzeichen auf die angegebene Länge rechts aufgefüllt wird. Das Definieren einer Länge ist nicht erforderlich, der Standardwert ist jedoch 1.

  • VARCHAR(M)- Eine Zeichenfolge mit variabler Länge zwischen 1 und 255 Zeichen; zum Beispiel VARCHAR (25). Sie müssen beim Erstellen eines VARCHAR-Felds eine Länge definieren.

  • BLOB or TEXT- Ein Feld mit einer maximalen Länge von 65535 Zeichen. BLOBs sind "Binary Large Objects" und werden zum Speichern großer Mengen von Binärdaten wie Bildern oder anderen Dateitypen verwendet. Als TEXT definierte Felder enthalten auch große Datenmengen. Der Unterschied zwischen beiden besteht darin, dass Sortierungen und Vergleiche für gespeicherte Daten bei BLOBs zwischen Groß- und Kleinschreibung und in TEXT-Feldern nicht zwischen Groß- und Kleinschreibung unterscheiden. Sie geben keine Länge mit BLOB oder TEXT an.

  • TINYBLOB or TINYTEXT- Eine BLOB- oder TEXT-Spalte mit einer maximalen Länge von 255 Zeichen. Sie geben mit TINYBLOB oder TINYTEXT keine Länge an.

  • MEDIUMBLOB or MEDIUMTEXT- Eine BLOB- oder TEXT-Spalte mit einer maximalen Länge von 16777215 Zeichen. Mit MEDIUMBLOB oder MEDIUMTEXT geben Sie keine Länge an.

  • LONGBLOB or LONGTEXT- Eine BLOB- oder TEXT-Spalte mit einer maximalen Länge von 4294967295 Zeichen. Sie geben mit LONGBLOB oder LONGTEXT keine Länge an.

  • ENUM - Eine Aufzählung, die ein ausgefallener Begriff für Liste ist. Wenn Sie eine ENUM definieren, erstellen Sie eine Liste von Elementen, aus denen der Wert ausgewählt werden muss (oder er kann NULL sein). Wenn Sie beispielsweise möchten, dass Ihr Feld "A" oder "B" oder "C" enthält, definieren Sie Ihre ENUM als ENUM ('A', 'B', 'C') und nur diese Werte (oder NULL). könnte jemals dieses Feld füllen.