Rumah > pangkalan data > tutorial mysql > Adakah terdapat perbezaan antara menggunakan INT(1) dan TINYINT(1) dalam MySQL?

Adakah terdapat perbezaan antara menggunakan INT(1) dan TINYINT(1) dalam MySQL?

PHPz
Lepaskan: 2023-08-30 08:13:08
ke hadapan
893 orang telah melayarinya

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

Nombor 1 yang digunakan dalam kurungan adalah untuk paparan lebar sahaja. INT(1) dan TINYINT(1) tidak menjejaskan storan.

TINYINT menduduki 1 bait, yang bermaksud julatnya ialah -128 hingga +127, manakala int menduduki 4 baitnya ialah -2147483648 hingga +2147483647

# 🎜 paparan, mari kita cipta jadual -

mysql> create table intAndTinyint
   −> (
   −> FirstNumber int(1) zerofill,
   −> SecondNumber tinyint(1) zerofill
   −> );
Query OK, 0 rows affected (0.52 sec)
Salin selepas log masuk

Kini anda boleh memasukkan rekod dalam jadual. Pertanyaannya adalah seperti berikut -

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)
Salin selepas log masuk

Gunakan pernyataan pilih untuk memaparkan semua rekod dalam jadual. Pertanyaannya adalah seperti berikut -

mysql> select *from intAndTinyint;
Salin selepas log masuk

Berikut ialah output -

+-------------+--------------+
| FirstNumber | SecondNumber |
+-------------+--------------+
|           1 |            1 |
|          12 |           12 |
|         123 |          123 |
+-------------+--------------+
3 rows in set (0.00 sec)
Salin selepas log masuk

Anda akan memahami perkara ini apabila nombor 1 kurungan meningkat kepada lebih daripada 1 dengan mengalas dengan sifar . Mari lihat contoh hanya untuk INT memahami konsep padding sifar lebar.

Buat jadual. Berikut ialah pertanyaan untuk mencipta jadual -

mysql> create table intVsIntAnyThingDemo
   −> (
   −> Number1 int(11) unsigned zerofill,
   −> Number int(13) unsigned zerofill
   −> );
Query OK, 0 rows affected (1.17 sec)
Salin selepas log masuk

Kini anda boleh memasukkan rekod dalam jadual dengan bantuan arahan sisip. Di sini, kami menetapkan lebar yang berbeza untuk INT. Pertanyaannya adalah seperti berikut -

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)
Salin selepas log masuk

Gunakan pernyataan pilih untuk memaparkan semua rekod. Pertanyaannya adalah seperti berikut -

mysql> select *from intVsIntAnyThingDemo;
Salin selepas log masuk

Di bawah ialah output yang menunjukkan lebar berbeza dan padding sifar

+-------------+---------------+
| Number1     | Number        |
+-------------+---------------+
| 00000012345 | 0000000006789 |
| 00000000003 | 0000000000002 |
| 00000000012 | 0000000000089 |
| 00000000123 | 0000000006789 |
| 00000001234 | 0000000006789 |
+-------------+---------------+
5 rows in set (0.00 sec)
Salin selepas log masuk

Atas ialah kandungan terperinci Adakah terdapat perbezaan antara menggunakan INT(1) dan TINYINT(1) dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan