Detaillierte Erklärung des Unterschieds zwischen tinyint und int in MySQL

Detaillierte Erklärung des Unterschieds zwischen tinyint und int in MySQL

Frage: Was ist der Unterschied zwischen int(1) und tinyint(1)?

Bei einem solchen Design würde ich sowieso nie int(1) schreiben.

Ich habe es überprüft und festgestellt, dass nach dem Festlegen des Speichertyps in MySQL der Speicher eine feste Länge hat, d. h. int(1) 和int(4) 在硬盤中所占的字節數都是一樣的.

Wir wissen, dass der Typ „int“ 4 Bytes und „tinyint“ 1 Byte belegt. int(1) und int(4) sind in Länge und Speichermethode gleich. Der einzige Unterschied ist die angezeigte Länge. Allerdings muss ein Parameter gesetzt werden: Wenn列制定了zerofill 就會用0填充顯示. In diesem Fall wird int(4) als 0002 angezeigt.

int(1)和tinyint(4) 相比,肯定int 大.

Beachten Sie, dass die Zahl in Klammern nach dem numerischen Typ nicht die Länge, sondern die Anzeigebreite angibt, was sich von der Bedeutung der Zahl nach varchar und char unterscheidet.

Das heißt不管int 后面的數字是多少,它存儲的范圍始終是-2^31 到2^31 - 1 .

Zusammenfassend lässt sich sagen, dass der belegte Speicherplatz immer derselbe ist, unabhängig davon, wie viele Zahlen in den Klammern des Integer-Datentyps stehen.

tinyint 1 Byte smallint 2 Byte MEDIUMINT 3 Byte

Beim Entwurf einer Datenbank選擇tinyint(1) offensichtlich int(1) 和tinyint(1) tinyint(1) gewählt werden.占的儲存空間越少越好,當然要夠用才行. Um ein einstelliges Feld wie dieses zu speichern, ist es besser, tinyint(1) zu verwenden.

Zusammenfassen:

  • 1. Nachdem der Typ angegeben wurde, hat der Speicher eine feste Länge. Int(1) und int(4) sind hinsichtlich ihrer Länge und Speichermethode gleich. In MySQL ist der Unterschied zwischen int(1) und int(4) die angezeigte Länge, allerdings muss ein Parameter gesetzt werden: Wenn die Spalte mit Zerofill angegeben ist, wird sie mit Nullen aufgefüllt. Wenn beispielsweise 2 int(3) angegeben ist, wird es als 002 angezeigt.
  • 2.int benötigt 4 Bytes für die Speicherung, tinyint benötigt 1 Byte für die Speicherung und die Speicherlänge bestimmt die verschiedenen Zahlenbereiche, die sie darstellen. Der durch int dargestellte Zahlenbereich ist: Ganzzahldaten (alle Zahlen) von -2^31 (-2.147.483.648) bis 2^31 – 1 (2.147.483.647). tinyint stellt Zahlen zwischen 0 und 255 dar.
  • 3. Tinyint(1) unterscheidet sich nicht von tinyint(3). Es kann 123 speichern. Wenn tinyint(3) jedoch mit Nullen aufgefüllt ist, wird beim Einfügen des Wertes 12 012 gespeichert. Zerofill füllt die linke Seite automatisch mit Nullen auf, was die Anzeigelänge begrenzt.

Die obige Zusammenfassung ist etwas chaotisch. Hier ist eine kurze Zusammenfassung:

Es gibt keinen Unterschied zwischen tinyint(1) und tinyint(3). Sie belegen beide ein Byte und haben den gleichen Speicherbereich.

tinyint(3) zerofill , wenn die eingefügten Daten weniger als 3 Ziffern haben,左邊自動補零, um die Anzeigelänge zu begrenzen

Wenn Int(1) und tinyint(1) ausreichen,優先選擇tinyint(1) , da占字節少、節省空間.

tinyint 1 Byte, smallint 2 Byte, MEDIUMINT 3 Byte, int 4 Byte, BIGINT 8 Byte.

Allerdings begrenzt die 5 in varchar(5) die Anzahl der Zeichen, die gespeichert werden können, unabhängig von ihrem Wert (egal ob Chinesisch, Englisch, Zahlen usw.).

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Einführung in die Unterschiede zwischen int, bigint, smallint und tinyint in MySQL
  • Der Wertebereich von TINYINT in MySQL
  • Detaillierte Erklärung des Integer-Datentyps tinyint in MySQL
  • Detaillierte Analyse der Unterschiede zwischen Tinyint(1) und Tinyint(4) in MySQL

<<:  Probleme mit der Rancher-Bereitstellung und dem Importieren von K8S-Clustern

>>:  Detaillierte Erklärung der grundlegenden Typen von TypeScript

Artikel empfehlen

So zeigen Sie ein kleines Symbol vor der Browser-URL an

Wenn Sie viele Websites durchsuchen, werden Sie fe...

CSS3 realisiert das Papierflugzeug aus der Kindheit

Heute werden wir Origami-Flugzeuge basteln (die A...

Analyse der MySQL-Methode zum Exportieren nach Excel

Dieser Artikel beschreibt, wie Sie MySQL zum Expo...

Detaillierte Erklärung des Integer-Datentyps tinyint in MySQL

Inhaltsverzeichnis 1.1Tinyint-Typbeschreibung 1.2...

Zusammenfassung der HOC-Nutzung von React-High-Order-Komponenten

Ein Satz zur Einführung von HOC Was ist eine Komp...

Detailliertes Tutorial zum Herunterladen und Installieren von mysql8.0.21

Offizielle Website-Adresse: https://www.mysql.com...

So verwenden Sie den Linux-Befehl „locate“

01. Befehlsübersicht Der Befehl „locate“ ist eige...

MySQL-String-Aufteilungsvorgang (String-Abfangen mit Trennzeichen)

String-Extraktion ohne Trennzeichen Fragenanforde...

Detailliertes Tutorial zur Installation von MySQL 5.7.26 auf CentOS7.4

In CentOS ist standardmäßig MariaDB installiert, ...

MySQL fügt automatisch Millionen simulierter Datenoperationscodes ein

Ich verwende Navicat als Datenbanktool. Andere si...

Win2008 R2 MySQL 5.5 ZIP-Format MySQL-Installation und -Konfiguration

Installation und Konfiguration von MySQL im ZIP-F...

So implementieren Sie den Vue-Timer

In diesem Artikelbeispiel wird der spezifische Co...

Vollständige Schritte zum Mounten einer neuen Datenfestplatte in CentOS7

Vorwort Ich habe gerade einen neuen VPS gekauft. ...