Baytlarda mysql-də int (11) sütununun ölçüsü nədir?

Baytlarda mysql-də int(11) sütununun ölçüsü nədir?

Və bu sütunlarda saxlanıla bilən maksimum dəyər?

303
12 апр. Gaurav tərəfindən təyin olunan 12 Aprel 2011-04-12 13:58 '11 at 13:58 2011-04-12 13:58
@ 10 cavab

INT uzunluğu hər hansı bir uzunluqdan asılı olmayaraq həmişə 4 bayt olacaq.

  • TINYINT = 1 bayt (8 bit)
  • SMALLINT = 2 bayt (16 bit)
  • MEDIUMINT = 3 bayt (24 bit)
  • Int = 4 bayt (32 bit)
  • BIGINT = 8 bayt (64 bit).

Uzunluğu sadəcə, mysql komanda satırı istemcisini istifadə edərək, məlumat seçərkən neçə simvolun görüntüleneceğini göstərir.

... və maksimum dəyəri 2147483647 (imza) və ya 4294967295 (imzalanmamış)

441
12 апр. cavab 12 ay apre verilir . 2011-04-12 14:02 '11 at 14:02 2011-04-12 14:02

Burada , int(11) maksimum 2^(31) = 2147483648-2147483648 min dəyərində olan 32 bit yer olan 4 baytlıq yer tutur. İşarə üçün bir bit.

border=0
89
12 апр. Santosh Linkha tərəfindən verilmiş cavab 12 aprel 2011-04-12 14:02 '11 at 14:02 2011-04-12 14:02

INT (keramika) yalnız göstərmə baxımından fərqi yaradır, yəni "somenumber" nömrələrindəki rəqəmləri göstərir və yalnız 11 ilə məhdudlaşmır. Lakin verilənlər bazasında saxlanılan dəyər eyni dərəcədə təsirlənmir.

Xahiş edirik unutmayın:

  • dəyəri "somenumber" dan daha aşağı bir ədəd varsa, ZEROFILL funksiyasından istifadə ZEROFILL , əks halda fərq yoxdur.

    INT (5) ZEROFILL 32 saxlanan dəyəri ilə 00032 göstərəcək
    INT (5) 32 saxlanan dəyəri ilə 32 göstərəcək
    32 saxlanılan dəyəri ilə int 32 göstərəcək

  • dəyəri "somenumber" dan daha çox rəqəmə malikdirsə, saxlanan dəyər göstəriləcək.

    250000 saxlanan dəyəri ilə INT (3) 250000 göstərəcək

65
17 дек. cavab verildi priyabagus 17 dekabr. 2014-12-17 09:48 '14 at 9:48 2014-12-17 09:48

Baytlarda mysql-də int (11) sütununun ölçüsü nədir?

(11) - int data tipinin bu atributu sütunun ölçüsü ilə heç bir əlaqəsi yoxdur. Bu, sadəcə, tamsayı məlumat növünün ekran genişliyidir. 11.1.4.5- dən . Sayısal tipin xüsusiyyətləri :

MySQL bir növü üçün əsas sözündən sonra parantezlərdə tamsayı məlumat növlərinin genişliyini isteğe bağlı olaraq göstərmək üçün bir uzantı dəstəkləyir. Məsələn, INT (4) dörd rəqəmli genişlikli ekran ilə INT bildirir.

29
07 марта '13 в 11:46 2013-03-07 11:46 Cavab verilir ks1322 07 Mart 2013, saat 11:46 da, 2013-03-07 11:46

Başqalarının dediyinə görə, sütunun saxlaya biləcəyi minimum / maksimum dəyərlər və baytlarda götürdüyü yaddaş yalnız uzunluqlu deyil, növü ilə müəyyən edilir.

Bu cavabların əksər hissəsi göstərir ki, hissəsi (11) yalnız ekranın genişliyinə təsir edir, bu tamamilə düzgün deyil, əksəriyyəti isə.

int(2) null dəyərinin təsviri :

  • hələ 100 dəyərini alır
  • çıxış dəyərinin 100 ( 0 və ya 00 )
  • ekran eni seçmə talebinin ən böyük dəyərinin eni olacaqdır.

Zerofilin dəyəri də göstərildiyi təqdirdə (2) şeydir:

  • dəyər 1 01 göstərilir.
  • Qiymətləri göstərərkən, bir sütun hər zaman bir sütunun götürə biləcəyi maksimum mümkün olan eni olan bütün sətir üçün 10 rəqəm olan genişliyə malik olacaq, sütunun bu xüsusi seçki sorgusunda ən çox dəyər göstərmək üçün lazım olan miniumum genişliyi yerinə daha az
  • Bir sütun hâlâ uzunluğundan daha böyük bir dəyər ala bilər və göstərə bilər, ancaq bu dəyərlər 0 ilə prefiks olmayacaq.

Bütün nüansları görmək ən yaxşı yolu:

 CREATE TABLE `mytable` ( `id` int(11) NOT NULL AUTO_INCREMENT, `int1` int(10) NOT NULL, `int2` int(3) NOT NULL, `zerofill1` int(10) ZEROFILL NOT NULL, `zerofill2` int(3) ZEROFILL NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `mytable` (`int1`, `int2`, `zerofill1`, `zerofill2`) VALUES (10000, 10000, 10000, 10000), (100, 100, 100, 100); select * from mytable; 

çıxacaq olan:

 +----+-------+-------+------------+-----------+ | id | int1 | int2 | zerofill1 | zerofill2 | +----+-------+-------+------------+-----------+ | 1 | 10000 | 10000 | 0000010000 | 10000 | | 2 | 100 | 100 | 0000000100 | 100 | +----+-------+-------+------------+-----------+ 

int1 sütununda uzunluq daha uzun olsa belə, zerofill2 dən daha kiçik ekran genişliyinə malik olduğunu zerofill2 .

Bu cavab Linux üçün MySQL 5.7.12-ə qarşı test edilmiş və digər tətbiqlər üçün fərqlənmiş və ya dəyişilməməlidir.

24
12 июня '16 в 11:38 2016-06-12 11:38 Cavab Programster tərəfindən 12 İyun '16' da 11:38 2016-06-12 11:38 'də verilir

Burada yaxşı bir izahat tapa bilərsiniz. Xülasə: int (N) içərisində parantez içərisində olan nömrə tez-tez varchar (N) ilə olduğu kimi bir sütun üçün icazə verilən maksimum ölçüyə qarışdırılır.

Lakin bu, Integer məlumat növlərinə aid deyil - parantezdə N sayı sütun üçün maksimum ölçüsü deyil, sadəcə, bu masaların MySQL konsolunda (ZEROFILL atributunu istifadə edərkən) göstərildiyi zaman sütunu göstərmək üçün MySQL-ə söyləmək üçün parametrdir.

Parantez içərisində olan nömrələr, MySQL-ə gələn sıfırların daxil olan tamsayılara daxil olduğunu bildirir. Məsələn: INT (5) 'a quraşdırılmış bir sütunda ZEROFILL istifadə edərsə və 78 nömrə əlavə olunarsa, nömrə nömrə ilə nömrə çatana qədər MySQL bu dəyəri sıfırla dolduracaq. yəni, 78, 00078, 127 ədəd isə 00127 olacaqdır. Ümumiləşdirmək üçün: mötərizədə olan nömrə ekran üçün istifadə olunur. Bir mənada, ZEROFILL funksiyasını istifadə etməyinizə baxmayaraq, mötərizədə olan nömrələr yararsızdır. Beləliklə, int üçün ölçüsü eyni qalacaq, yəni. -2147483648-dən 2147483648-ə imzalanıb0'dan 4294967295 -ə imzalanmamışdır (~ 2.15 milyard və 4.2 milyard dollara bərabərdir. Bu səbəbdən, developers N ədədinin arxasındakı hekayəni xatırlamırlar, çünki demək olar ki, bu deyil bazardan 2 milyarddan çox xəttə malikdirsə, veritabanını təsir edir) və baytlarda - 4 bayt .

Tamsayı növlərinin ölçüsü / aralığı haqqında daha ətraflı məlumat üçün, MySQL Təlimatına baxın .

10
19 апр. cavab shashi009 19 apr verilir . 2016-04-19 06:25 '16 saat 06:25 'da 2016-04-19 06:25

Bu cavabı qeyd etmək mümkün deyil, baxmayaraq ki, aşağıdakı aydınlaşdırma etmək lazımdır:

  • (n) MySQL-də bütün məlumat növü üçün ekran genişliyi göstərilir
  • ekran eni, tələbdən dönmüş sayının uzunluğunu məhdudlaşdırmır
  • ekran genişliyi Sıfır dolu sütun üçün dolu sıfırların sayını məhdudlaşdırır, buna görə ümumi ədəd ekran genişliyinə (əsl rəqəm ekran genişliyini aşmadığı halda, nömrənin olduğu kimi göstərilir)
  • Ekran genişliyi, dəyərin nə qədər əlavə edilməsini öyrənmək üçün inkişaf etdiricilər üçün faydalı vasitədir

BİT DETAYLARI
görünürlük, yəqin ki, sıfır dolu nömrədə neçə sıfırın göstəriləcəyi ilə bağlı bəzi metadata təmin etməkdir.
Bu rəqəm, göstərilən ekran genişliyini aşsa, əslində sorgudan dönmüş sayının uzunluğunu məhdudlaşdırmır.
MySQL-də tam məlumat tipi üçün hansı uzunluq / eni həqiqətən icazə verildiyini öyrənmək üçün Siyahıya və linkə baxın: ( növlər: TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT );
Buna görə, yuxarıda qeyd etdiyimiz kimi, sütunlar ZEROFILL sütunları kimi göstərilmədikcə ekranın genişliyi standart sorgunun nəticələrinə təsir etməyəcəkdir.
Və ya
məlumatların bir tətbiqə çəkilməsi vəziyyətində və bu ərizə digər genişlənmə növü üçün istifadə etmək üçün ekran genişliyini toplayır.

Əsas link: https://blogs.oracle.com/jsmyth/entry/what_does_the_11_mean

8
17 янв. Cavab verilir MER 17 yanvar. 2016-01-17 00:34 '16 'da 0:34' də 2016-01-17 00:34 'da

MySQL-də integer int(11) ölçüsü 4 bayt, 32 bitdir.

İmzalanmış dəyər: - 2^(32-1) to 0 to 2^(32-1)-1 -2147483648 to 0 to 2147483647 2^(32-1) to 0 to 2^(32-1)-1 = -2147483648 to 0 to 2147483647

Unsigned Dəyərlər: 0 to 2^32-1 = 0 to 4294967295

2
20 дек. cavab 20 dekabrda Sachin Agrawal tərəfindən verilir . 2015-12-20 21:13 '15 at 21:13 2015-12-20 21:13

İnt (11) maksimum dəyəri 4294967295 olduğunu düşünürəm

-5
15 янв. cavab 15 yanvar Samuel tərəfindən verilir 2015-01-15 06:58 '15 at 6:58 'da 2015-01-15 06:58

4294967295 cavabdır, çünki int (11) ən çox 11 ədəd IMO rəqəmini göstərir

-8
05 марта '15 в 6:06 2015-03-05 06:06 Dudee tərəfindən 05.03.2013 tarixində 6:06 da cavab verildi

haqqında digər suallar və ya bir sual