Die in Klammern verwendete Zahl 1 dient nur der Breitenanzeige. INT(1) und TINYINT(1) haben keinen Einfluss auf die Speicherung.
TINYINT belegt 1 Byte, was bedeutet, dass sein Bereich -128 bis +127 beträgt, während int 4 Bytes einnimmt.
Um die Breitenanzeige zu verstehen, erstellen wir jetzt eine Tabelle Sie können Datensätze in die Tabelle einfügen. Die Abfrage lautet wie folgt:
mysql> create table intAndTinyint −> ( −> FirstNumber int(1) zerofill, −> SecondNumber tinyint(1) zerofill −> ); Query OK, 0 rows affected (0.52 sec)
Verwenden Sie die SELECT-Anweisung, um alle Datensätze in der Tabelle anzuzeigen. Die Abfrage lautet wie folgt: -
mysql> insert into intAndTinyint values(1,1); Query OK, 1 row affected (0.32 sec) mysql> insert into intAndTinyint values(12,12); Query OK, 1 row affected (0.26 sec) mysql> insert into intAndTinyint values(123,123); Query OK, 1 row affected (0.14 sec)
Hier ist die Ausgabe -
mysql> select *from intAndTinyint;
Sie werden dies verstehen, wenn die Zahl 1 in der Klammer durch Auffüllen mit Nullen auf größer als 1 ansteigt. Schauen wir uns ein Beispiel nur für INT an, um das Konzept der Auffüllung mit der Breite Null zu verstehen.
Erstellen Sie eine Tabelle. Es folgt die Abfrage zum Erstellen der Tabelle:
+-------------+--------------+ | FirstNumber | SecondNumber | +-------------+--------------+ | 1 | 1 | | 12 | 12 | | 123 | 123 | +-------------+--------------+ 3 rows in set (0.00 sec)
Jetzt können Sie mithilfe des Befehls „Einfügen“ Datensätze in die Tabelle einfügen. Hier legen wir unterschiedliche Breiten für INT fest. Die Abfrage lautet wie folgt:
mysql> create table intVsIntAnyThingDemo −> ( −> Number1 int(11) unsigned zerofill, −> Number int(13) unsigned zerofill −> ); Query OK, 0 rows affected (1.17 sec)
Alle Datensätze mit Hilfe der Select-Anweisung anzeigen. Die Abfrage lautet wie folgt:
mysql> insert into intVsIntAnyThingDemo values(12345,6789); Query OK, 1 row affected (0.44 sec) mysql> insert into intVsIntAnyThingDemo values(3,2); Query OK, 1 row affected (0.20 sec) mysql> insert into intVsIntAnyThingDemo values(12,89); Query OK, 1 row affected (0.15 sec) mysql> insert into intVsIntAnyThingDemo values(123,6789); Query OK, 1 row affected (0.17 sec) mysql> insert into intVsIntAnyThingDemo values(1234,6789); Query OK, 1 row affected (0.14 sec)
Unten ist die Ausgabe mit unterschiedlichen Breiten und null Auffüllungen
mysql> select *from intVsIntAnyThingDemo;
Das obige ist der detaillierte Inhalt vonGibt es einen Unterschied zwischen der Verwendung von INT(1) und TINYINT(1) in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!