unsigned is not a negative number, use this type can increase the length of the data!
For example , if the tinyint max is 127, that tinyint unsigned max You can go to 127 * 2
The unsigned property is only for integers, and the binary property is used only for char and varchar.
Type |
Description |
tinyint |
A very small integer |
smallint |
smaller integers |
Mediumint |
Medium size integers |
Int |
Standard integer |
bigint |
Larger integer |
Float |
Single-precision floating-point numbers |
Double |
Double-precision floating point numbers |
Decimal |
Floating-point numbers for a string |
The name and the range of values for each numeric type are shown in table 2.
Type description |
Take value range |
Tinyint[(m)] |
Signed values:-128 to 127 (-27 to 27–1) unsigned values: 0 to 255 (0 to 28–1) 1 bytes |
Smallint[(m)] |
Signed values:-32768 to 32767 (-215 to 215–1) unsigned values: 0 to 65535 (0 to 21 6–1) 2 bytes |
Mediumint[(m)] |
Signed values:-8388608 to 8388607 (-22 3 to 22 3–1) unsigned values: 0 to 16777215 (0 to 22 4–1) 5>3 bytes |
Int[(m)] |
Signed values:-2147683648 to 2147683647 (-231 to 231-1) unsigned value: 0 to 4294967295 (0 to 232–1) 4 bytes |
Bigint[(m)] |
Signed values:-9223372036854775808 to 9223373036854775807 (-263 to 263-1) unsigned value: 0 to 18446744073709551615 (0 to 264–1) 8 bytes |
Float[(M, D)] |
Min Non 0 value: ±1.175494351e–38 |
double[(M,D)] |
Min Non 0 value: ±2.2250738585072014e–308 |
Decimal (M, D) |
variable; The range of values depends on M and D |
Table 2: Range of values for numeric column types
The amount of storage required for the various types of values is shown in table 3.
Type description |
Storage requirements |
Tinyint[(m)] |
1 bytes |
Smallint[(m)] |
2 bytes |
Mediumint[(m)] |
3 bytes |
Int[(m)] |
4 bytes |
Bigint[(m)] |
8 bytes |
Float[(M, D)] |
4 bytes |
Double[(M, D)] |
8 bytes |
Decimal (M, D) |
M-byte (MySQL < 3.23), m+2 bytes (mysql > 3.23) |
Table 3: Storage requirements for numeric column types
MySQL offers five integral types: tinyint, smallint, mediumint, int, and bigint. int is an integer abbreviation. These types are different in the range of values that can be represented. Integer series can be defined as unsigned to disable negative values, which makes the column take a range of 0 or more. Various types of storage requirements are also different. A large amount of storage is required for a type that has a larger range of values.
MySQL provides three floating-point types: float, double, and decimal. Unlike an integral type, a floating-point type cannot be unsigned, and its value range is different from an integral type, not only because these types have a maximum value, but also with a minimum value of 0. The minimum value provides a measure of the corresponding type precision, which is important for recording scientific data (and, of course, negative maximum and minimum values).