Heim  >  Artikel  >  Datenbank  >  Die umfassendste Analyse: MySQL-Feldtypen

Die umfassendste Analyse: MySQL-Feldtypen

WBOY
WBOYnach vorne
2021-12-24 18:26:152750Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über MySQL-Feldtypen und bietet eine Zusammenfassung. Ich hoffe, dass er für alle hilfreich ist.

Die umfassendste Analyse: MySQL-Feldtypen

Vorwort:

Um eine Datenbank zu verstehen, müssen wir die Datentypen verstehen, die sie unterstützt. MySQL unterstützt eine große Anzahl von Feldtypen, von denen viele häufig verwendet werden. Wir haben in früheren Artikeln auch über die Verwendung von int- und varchar-Typen gesprochen, aber wir haben nie vollständig über Feldtypen gesprochen. In diesem Artikel werden wir alle Feldtypen behandeln und über die Verwendung allgemeiner Feldtypen sprechen.

Häufig verwendete Feldtypen können grob in drei Kategorien unterteilt werden: numerischer Typ, String-Typ und Datums- und Uhrzeittyp. Wir stellen sie der Reihe nach entsprechend den Kategorien vor.

1. Numerischer Typ

Die große Kategorie numerischer Typen kann in drei Unterkategorien unterteilt werden: Ganzzahltyp, Gleitkommatyp und Festkommatyp.

Integer-Typen werden hauptsächlich zum Speichern von Ganzzahlwerten verwendet. Es gibt hauptsächlich die folgenden Feldtypen:

Die umfassendste Analyse: MySQL-Feldtypen

Integer-Typen werden häufig verwendet, z. B. tinyint, int, bigint. Der Standardwert ist signiert. Wenn Sie nur vorzeichenlose Werte speichern müssen, können Sie das unsignierte Attribut hinzufügen.

Das M in int(M) stellt die maximale Anzeigebreite dar. Dies bedeutet nicht, dass int(1) den Wert 10 nicht speichern kann. Unabhängig davon, wie viele Zeichen die Anzeigebreite eingestellt ist, belegt int immer 4 Bytes, d. h. int (5) Der Speicherbereich ist der gleiche wie int(10).

Je kleiner die Speicherbytes sind, desto geringer ist der belegte Speicherplatz. Daher sollten wir im Einklang mit dem Prinzip der Speicherminimierung versuchen, den geeigneten Ganzzahltyp auszuwählen. Beispielsweise kann tinyint verwendet werden, um einige Statuswerte oder das Alter von Personen für Primärschlüsselspalten zu speichern. Es wird empfohlen, int unsigned oder bigint unsigned zu verwenden, um die Feldanzahl mit dem Typ bigint zu schätzen.

Zu den Gleitkommatypen gehören hauptsächlich Gleitkommatypen, die ungefähre Werte in der Datenbank speichern, z. B. Float (6,3). Wenn Sie eine Zahl 123,45678 eingeben, ist die tatsächliche in der Datenbank gespeicherte Zahl 123,457 die Gesamtzahl Es hängt auch von der tatsächlichen Situation ab, dh 6 Ziffern, und der maximale ganzzahlige Teil beträgt 3 Ziffern. float und double werden nicht häufig verwendet.

Die umfassendste Analyse: MySQL-Feldtypen

Es gibt einen Festkomma-Feldtyp: DECIMAL, der hauptsächlich zum Speichern von Dezimalzahlen mit Genauigkeitsanforderungen verwendet wird.

Die umfassendste Analyse: MySQL-Feldtypen

DECIMAL wurde mit MySQL 5.1 eingeführt und die Syntax der Spaltendeklaration lautet DECIMAL(M,D). NUMERIC ist gleichbedeutend mit DECIMAL. Wenn der Feldtyp als NUMERIC definiert ist, wird er automatisch in DECIMAL konvertiert.

Für die Deklarationssyntax DECIMAL(M,D) ist der Wertebereich des Arguments wie folgt:

  • M ist die maximale Anzahl von Ziffern (Genauigkeit) im Bereich von 1 bis 65. Kann nicht angegeben werden, der Standardwert ist 10.
  • D ist die Anzahl der Stellen rechts vom Dezimalpunkt (Dezimalstellen). Der Bereich liegt zwischen 0 und 30 und kann nicht größer als M sein. Der Standardwert ist 0.

Zum Beispiel kann das Feld Gehalt DECIMAL(5,2) jeden Wert mit fünf Ziffern und zwei Dezimalstellen speichern, sodass der Wertebereich, der in der Gehaltsspalte gespeichert werden kann, von -999,99 bis 999,99 reicht .

2. Der String-Typ wird ebenfalls häufig verwendet:

Die umfassendste Analyse: MySQL-FeldtypenUnter diesen werden am häufigsten char und varchar verwendet. Der char-Typ hat eine feste Länge und MySQL weist immer genügend Speicherplatz basierend auf der definierten String-Länge zu. Wenn char-Werte gespeichert werden, werden sie rechts mit Leerzeichen bis zur angegebenen Länge aufgefüllt, und wenn char-Werte abgerufen werden, werden nachgestellte Leerzeichen entfernt. Der Typ varchar wird zum Speichern von Zeichenfolgen variabler Länge verwendet. Wenn die Zeichen beim Speichern nicht die definierte Anzahl von Ziffern erreichen, werden am Ende keine Leerzeichen hinzugefügt. Das M in

char(M) und varchar(M) stellt die maximale Anzahl der gespeicherten Zeichen dar. Ein einzelner Buchstabe, eine Zahl, Chinesisch usw. belegen alle ein Zeichen. char eignet sich zum Speichern sehr kurzer Zeichenfolgen oder wenn alle Werte nahezu gleich lang sind. Beispielsweise eignet sich char ideal zum Speichern des MD5-Werts eines Passworts, da es sich um einen Wert mit fester Länge handelt. Für Situationen, in denen die Zeichenfolge sehr lang ist oder die zu speichernden Zeichenfolgen unterschiedliche Längen haben, ist Varchar besser geeignet.

Wenn wir die maximale Länge eines Felds definieren, sollten wir es nach Bedarf zuweisen, im Voraus eine Schätzung vornehmen und versuchen, den Texttyp nicht zu verwenden, wenn der Varchar-Typ verwendet werden kann. Sofern keine Notwendigkeit besteht, lange Textdaten zu speichern, sollten Sie die Verwendung des Texttyps in Betracht ziehen. Der Typ

BLOB wird hauptsächlich zum Speichern binärer großer Objekte wie Bilder, Audio- und Videodateien verwendet. Wird im täglichen Leben selten verwendet, können Sie es beim Speichern von Binärzeichenfolgen in Betracht ziehen.

3. Datums- und Uhrzeittypen

Die von MySQL unterstützten Datums- und Uhrzeittypen sind

YEAR

, TIME, DATE, DATETIME, TIMESTAMP

Wenn es um die Auswahl des Feldtyps für Datum und Uhrzeit geht, wählen Sie einfach den entsprechenden Typ basierend auf den Speicheranforderungen aus.

Die Auswahl zwischen den Typen DATETIME und TIMESTAMP kann auf den Speicheranforderungen basieren. Wenn beispielsweise ein größerer Speicherbereich erforderlich ist, wird empfohlen, DATETIME zu verwenden. Wenn Sie nur den aktuellen Zeitstempel speichern, können Sie den Typ TIMESTAMP verwenden. Es ist jedoch zu beachten, dass sich die TIMESTAMP-Felddaten mit der Systemzeitzone ändern, die DATETIME-Felddaten jedoch nicht. Im Allgemeinen wird DATETIME häufiger verwendet.

Zusammenfassung:

Dieser Artikel stellt hauptsächlich die häufig verwendeten Feldtypen in MySQL vor. Die häufig verwendeten Feldtypen werden hier mit einer Mindmap zusammengefasst:

Die umfassendste Analyse: MySQL-Feldtypen

Empfohlenes Lernen: MySQL-Video Tutorial

Das obige ist der detaillierte Inhalt vonDie umfassendste Analyse: MySQL-Feldtypen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen