Heim > Datenbank > MySQL-Tutorial > Gibt es einen Unterschied zwischen der Verwendung von INT(1) und TINYINT(1) in MySQL?

Gibt es einen Unterschied zwischen der Verwendung von INT(1) und TINYINT(1) in MySQL?

PHPz
Freigeben: 2023-08-30 08:13:08
nach vorne
875 Leute haben es durchsucht

在 MySQL 中使用 INT(1) 与 TINYINT(1) 有区别吗?

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

Hier ist die Ausgabe -

mysql> select *from intAndTinyint;
Nach dem Login kopieren

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

Unten ist die Ausgabe mit unterschiedlichen Breiten und null Auffüllungen

mysql> select *from intVsIntAnyThingDemo;
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage