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

Detaillierte Erklärung des Unterschieds zwischen Docker-Compose-Ports und Expose

Es gibt zwei Möglichkeiten, Container-Ports in Do...

So kommunizieren Sie mit anderen Benutzern über die Linux-Befehlszeile

Es ist ganz einfach, Nachrichten an andere Benutz...

Linux verwendet join -a1, um zwei Dateien zusammenzuführen

Um die folgenden beiden Dateien zusammenzuführen,...

So kapseln Sie die Karussellkomponente in Vue3

Zweck Kapseln Sie die Karussellkomponente und ver...

Detaillierte Erklärung der wechselseitigen Verwendung von Ref in React

Inhaltsverzeichnis 1. Lassen Sie uns zunächst erk...

Was sind die Kernmodule von node.js

Inhaltsverzeichnis Globales Objekt Globale Objekt...

Detaillierte Erklärung zur Verwendung der Vue h-Funktion

Inhaltsverzeichnis 1. Verstehen 2. Verwendung 1. ...

Mysql 5.7.17 Winx64-Installationstutorial auf Win7

Softwareversion und Plattform: MySQL-5.7.17-winx6...

Schritte zum Verpacken und Freigeben des Vue-Projekts

Inhaltsverzeichnis 1. Übergang von der Entwicklun...

Lösung für MySQL-Fehlercode 1862 Ihr Passwort ist abgelaufen

Der Blogger hat MySQL ein oder zwei Monate lang n...

So konfigurieren Sie mehrere Projekte mit demselben Domänennamen in Nginx

Es gibt zwei Möglichkeiten, mit Nginx mehrere Pro...

Prozessdiagramm für die Ideenbereitstellung und Tomcat-Dienstimplementierung

Konfigurieren Sie zunächst die Projektartefakte K...

Detaillierte Schritte zum Konfigurieren des Tomcat-Servers in IDEA 2020

Die Schritte zum Konfigurieren von Tomcat in IDEA...