Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jaka jest różnica między tinyint, smallint, mediumint, bigint i int w MySQL?

Zajmują różne ilości miejsca i mają różne zakresy dopuszczalnych wartości.

Oto rozmiary i zakresy wartości dla programu SQL Server , inne RDBMS mają podobną dokumentację:

Okazuje się, że wszystkie używają tej samej specyfikacji (z kilkoma drobnymi wyjątkami wymienionymi poniżej), ale obsługują różne kombinacje tych typów (nie obejmuje Oracle, ponieważ ma tylko NUMBER typ danych, patrz powyższy link):

             | SQL Server    MySQL   Postgres    DB2
---------------------------------------------------
tinyint      |     X           X                
smallint     |     X           X         X        X
mediumint    |                 X
int/integer  |     X           X         X        X 
bigint       |     X           X         X        X

Obsługują te same zakresy wartości (z jednym wyjątkiem poniżej) i wszystkie mają takie same wymagania dotyczące przechowywania:

            | Bytes    Range (signed)                               Range (unsigned)
--------------------------------------------------------------------------------------------
tinyint     | 1 byte   -128 to 127                                  0 to 255
smallint    | 2 bytes  -32768 to 32767                              0 to 65535
mediumint   | 3 bytes  -8388608 to 8388607                          0 to 16777215
int/integer | 4 bytes  -2147483648 to 2147483647                    0 to 4294967295
bigint      | 8 bytes  -9223372036854775808 to 9223372036854775807  0 to 18446744073709551615 

Typy "niepodpisane" są dostępne tylko w MySQL, a reszta po prostu używa zakresów ze znakiem, z jednym godnym uwagi wyjątkiem:tinyint w SQL Server jest niepodpisany i ma zakres wartości od 0 do 255



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak utworzyć indeks DESC w MySQL?

  2. gdzie są rzeczywiste dane w mysql db przechowywane na maszynie z systemem Linux?

  3. Czy indeksy UNIQUE rozróżniają wielkość liter w MySQL?

  4. MySQL vs MongoDB 1000 odczytów

  5. MySQL Jak wiele wartości