Heim  >  Artikel  >  Datenbank  >  Was ist der Long-Integer-Typ von MySQL?

Was ist der Long-Integer-Typ von MySQL?

青灯夜游
青灯夜游Original
2022-06-14 16:40:295094Durchsuche

Der Long-Integer-Typ von MySQL ist „BIGINT“. BIGINT ist ein Ab-Byte- oder 64-Bit-Ganzzahlwert, der sehr nützlich ist, wenn extrem große Ganzzahlwerte gespeichert werden. BIGINT kann wie andere ganzzahlige Datentypen mit oder ohne Vorzeichen sein; der vorzeichenbehaftete Datentyp bedeutet, dass die Spalte positive und negative ganzzahlige Werte speichern kann, während der vorzeichenlose Datentyp bedeutet, dass die Spalte nur positive ganzzahlige Werte speichern kann. Der Bereich der vorzeichenbehafteten BIGINT-Typen liegt zwischen „-9223372036854775808“ und „9223372036854775807“.

Was ist der Long-Integer-Typ von MySQL?

Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.

Integer-Typ wird auch als numerischer Datentyp bezeichnet und wird hauptsächlich zum Speichern von Zahlen verwendet.

MySQL bietet eine Vielzahl numerischer Datentypen. Je größer der Wertebereich, der gespeichert werden kann, desto größer ist der erforderliche Speicherplatz.

Die wichtigsten von MySQL bereitgestellten Ganzzahltypen sind TINYINT, SMALLINT, MEDIUMINT, INT und BIGINT, und den Attributfeldern können AUTO_INCREMENT-Einschränkungen für die automatische Inkrementierung hinzugefügt werden. In der folgenden Tabelle sind die numerischen Typen in MySQL aufgeführt.

Typ Größe Bereich (mit Vorzeichen) Bereich (ohne Vorzeichen) Zweck
TINYINT 1 Byte (-128, 127) (0, 255) Kleiner ganzzahliger Wert
SMALLINT 2 Bytes (-32 768, 32 767) (0, 65 535) Großer ganzzahliger Wert
MEDIUMINT 3 Stück Bytes. (-8 388 608, 8 388 607) (0, 16 777 215) GROSSER INTEGER-WERT
INT oder INTEGER 4 Bytes (-2 147 483. 648 , 2 147 483 647) (0 , 4 294 967 295) Großer ganzzahliger Wert
BIGINT 8 Bytes (-9.223.372.036.854.775.808,9 223 372 036 854 775 807) (0, 18 446 744 073 709 551 615) Maximal ganzzahliger Wert

Wie Sie der obigen Tabelle entnehmen können, ist die Anzahl der erforderlichen Bytes für verschiedene Arten von Ganzzahlspeichern unterschiedlich. Der Typ TINYINT nimmt die kleinste Anzahl an Bytes ein, und der Typ BIGINT nimmt die größte Anzahl an Bytes ein belegt mehr Bytes Je größer der darstellbare Wertebereich. Daher ist der Long-Integer-Typ von MySQL „BIGINT“.

MySQL BIGINT

BIGINT ist ab Bytes oder ein 64-Bit-Ganzzahlwert, sehr nützlich beim Speichern großer Ganzzahlwerte.

MySQL BIGINT kann wie jeder andere ganzzahlige MySQL-Datentyp signiert oder nicht signiert sein. Ein vorzeichenbehafteter Datentyp bedeutet, dass die Spalte sowohl positive als auch negative Ganzzahlwerte speichern kann. Dies ist der Standardtyp für die meisten Integer-Typen in MySQL. Daher kann jede Spalte vom Typ „Ganzzahl“ sowohl positive als auch negative Ganzzahlen speichern, sofern nicht ausdrücklich angegeben.

Andererseits bedeutet der vorzeichenlose Datentyp, dass die Spalte nur positive Ganzzahlwerte speichern kann.

Der vorzeichenbehaftete MySQL-BIGINT-Typ liegt zwischen -9223372036854775808 und 9223372036854775807.

Für den vorzeichenlosen BIGINT-Typ liegt der Wertebereich zwischen 0 und 18446744073709551615.

Eine weitere Eigenschaft vom Typ BIGINT ist ZEROFILL. Wenn diese Eigenschaft für eine Spalte angegeben wird, wird die Spalte automatisch auf UNSIGNED gesetzt. Das Attribut „zerofill“ füllt Leerzeichen auch mit Nullen.

BIGINT Beispiele:

Schauen wir uns einige Beispiele an, um zu veranschaulichen, wie der Typ BIGINT verwendet wird.

CREATE DATABASE IF NOT EXISTS integers;
USE integers;

Als nächstes erstellen wir eine Tabelle und füllen sie mit verschiedenen BIGINT-Spalten, wie in der folgenden Abfrage gezeigt:

CREATE TABLE examples(x BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, y BIGINT UNSIGNED, z BIGINT ZEROFILL );

Beispiel 1

Versuchen wir zunächst, alle positiven Werte zu addieren ​​zur Tabelle:

INSERT INTO examples(x,y,z) VALUES (1,2,3);
In der obigen Beispielabfrage sind diese Werte akzeptabel, da sie im Bereich der BIGINT-Typen mit Vorzeichen, Vorzeichen und Nullfüllung liegen.

SELECT * FROM examples;

Was ist der Long-Integer-Typ von MySQL?

Beispiel 2

Im nächsten Fall versuchen wir, alle negativen Werte zu addieren. Eine Beispielabfrage lautet wie folgt:

INSERT INTO examples(x,y,z) VALUES (-1,-2,-3);
ERROR 1264 (22003): Out of range value for column 'y' at row 1
In diesem Fall schlägt die Abfrage fehl, weil die y-Spalte ohne Vorzeichen ist. Daher liegt die Zuweisung eines negativen Werts zu einer Spalte außerhalb des Spaltenbereichs.

Beispiel 3

Wir können eine ähnliche Situation wie in der dritten Spalte oben beobachten. Das Zerofill-Attribut macht die Spalte automatisch ohne Vorzeichen, sodass das Hinzufügen negativer Werte außerhalb des zulässigen Bereichs liegt. Ein Beispiel ist:

INSERT INTO examples(x,y,z) VALUES (-1,2,-3);
ERROR 1264 (22003): Out of range value for column 'z' at row 1

Beispiel 4

Versuchen wir nun, den Maximalwert jedes Typs zu addieren. Eine Beispielabfrage ist:

INSERT INTO examples(x,y,z) VALUES (-9223372036854775808, 9223372036854775808, 9223372036854775808);
Im obigen Beispiel wird die Abfrage erfolgreich ausgeführt, da alle Werte innerhalb des Bereichs liegen.

Betrachten Sie die folgende Abfrage:

INSERT INTO examples(x,y,z) VALUES (9223372036854775807, 9223372036854775808, 9223372036854775808);
Sie werden feststellen, dass alle Werte maximal sind. Da Spalte x auf AUTO_INCREMENT gesetzt ist, schlägt das Hinzufügen eines Werts fehl.

INSERT INTO examples(y,z) VALUES (9223372036854775808, 9223372036854775808);
ERROR 1062 (23000): Duplicate entry '9223372036854775807' for key 'examples.PRIMARY'
Wenn jedoch der strikte Modus in MySQL deaktiviert ist, können Sie Werte außerhalb des Bereichs einfügen.

SELECT * FROM examples;

[Verwandte Empfehlungen:

MySQL-Video-TutorialWas ist der Long-Integer-Typ von MySQL?]

Das obige ist der detaillierte Inhalt vonWas ist der Long-Integer-Typ von MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn