Heim >Datenbank >MySQL-Tutorial >Was stellt int(11) in MYSQL dar?
Ich habe bei der Arbeit oft mit MySQL zu tun, aber ich hatte immer ein vages Verständnis für die verschiedenen Feldtypen von MySQL. Was bedeutet int(11) in MYSQL? Sie wissen es vielleicht nicht sehr gut, deshalb habe ich diesen Artikel geschrieben, um es zusammenzufassen und aufzuzeichnen.
Tatsächlich wurden einige Grundkenntnisse des int-Typs im obigen Bild sehr deutlich erklärt. Hier möchte ich die häufig verwendeten Dinge besprechen int(11)-Vertreter. Was bedeutet das? Lange Zeit dachte ich, dies bedeute, die Länge von int auf 11 Stellen zu beschränken. Erst als ich eines Tages einen Artikel las, wurde mir klar, dass 11 nicht die Länge darstellt , aber die Anzeigebreite des Zeichens Wenn der Feldtyp int ist, sind die maximalen und minimalen Werte, die der int-Typ speichern kann, unabhängig davon, wie stark Sie die Anzeigebreite festlegen, immer behoben. Hier sind einige Originaltextausschnitte
Die Zahl in der Klammer bestimmt nicht die Höchst- und Mindestwerte, die im Ganzzahlfeld gespeichert werden können Die zu speichernden Werte sind immer festgelegt.UnsignedDie Anzeigebreite der Spalte hat keinen Einfluss auf den Maximalwert, der in dieser Spalte gespeichert werden kann. Eine Spalte mit INT(5) oder INT(11) kann auch die gleichen Maximalwerte speichern. Wenn Sie eine Spalte INT(20) haben, bedeutet das nicht, dass Sie 20-stellige Werte (BIGINT-Werte) speichern können. Die Spalte speichert weiterhin nur den Maximalwert und den Minimalwert sind fest, welchen Nutzen hat diese Anzeigebreite?
Wenn der int-Feldtyp auf
und
Mit Nullen gefüllt (UNSIGNED ZEROFILL) eingestellt ist, werden Nullen hinzugefügt, wenn die Anzahl der Ziffern die eingestellte Anzeigebreite nicht erreicht Warum gibt es vor dem Wert ein vorzeichenloses Limit? Dies liegt daran, dass das ZEROFILL-Attribut den Wert implizit in einen vorzeichenlosen Typ konvertiert, sodass keine negativen Werte gespeichert werden können. Der folgende Code dient der konkreten Erläuterung.
Fügen Sie zwei Datenelemente ein
CREATE TABLE int_demo ( id INT(11) NOT NULL AUTO_INCREMENT, a INT(11) NOT NULL, b INT(11) UNSIGNED ZEROFILL NOT NULL, c INT(5) DEFAULT NULL, d INT(5) UNSIGNED ZEROFILL NOT NULL, e INT(15) DEFAULT NULL, PRIMARY KEY (`id`) )
INSERT INTO int_demo (a, b, c, d, e) VALUES (1, 1, 1, 1, 1); INSERT INTO int_demo (a, b, c, d, e) VALUES (1234567890, 1234567890, 1234567890, 1234567890, 1234567890);Hinweis: Wenn Sie die Navigationssoftware zur Abfrage verwenden Es wird nicht funktionieren. Die 0 auf der linken Seite wird angezeigt, aber wenn Sie die Daten exportieren, können Sie die tatsächlichen Daten sehen. Ich vermute, dass die Software das Datenformat verarbeitet hat.
select * from int_demo;
id | a | b | c | d | e |
---|---|---|---|---|---|
1 | 1 | 00000000001 | 1 | 00001 | 1 |
2 | 1234567890 | 01234567890 | 1234567890 | 1234567890 | 1234567890 |
So nummerieren Sie automatisch die Ergebnisse von Abfragedaten im MYSQL-Methoden-Tutorial
So zeigen Sie den Speicherort von MySQL-Datendateien an
Untersuchung der MySQL-Paging-Leistung
Das obige ist der detaillierte Inhalt vonWas stellt int(11) in MYSQL dar?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!