========= 有符号和无符号 tinyint==========
- #tinyint 默认为有符号
- MariaDB [db1]> create table t1(x tinyint); #默认为有符号, 即数字前有正负号
- MariaDB [db1]> desc t1;
- MariaDB [db1]> insert into t1 values
- -> (-129),
- -> (-128),
- -> (127),
- -> (128);
- MariaDB [db1]> select * from t1;
- +------+
- | x |
- +------+
- | -128 | #-129 存成了 - 128
- | -128 | #有符号, 最小值为 - 128
- | 127 | #有符号, 最大值 127
- | 127 | #128 存成了 127
- +------+
- # 设置无符号 tinyint
- MariaDB [db1]> create table t2(x tinyint unsigned);
- MariaDB [db1]> insert into t2 values
- -> (-1),
- -> (0),
- -> (255),
- -> (256);
- MariaDB [db1]> select * from t2;
- +------+
- | x |
- +------+
| 0 | -1 存成了 0
- | 0 | #无符号, 最小值为 0
- | 255 | #无符号, 最大值为 255
- | 255 | #256 存成了 255
- +------+
============ 有符号和无符号 int=============
- #int 默认为有符号
- MariaDB [db1]> create table t3(x int); #默认为有符号整数
- MariaDB [db1]> insert into t3 values
- -> (-2147483649),
- -> (-2147483648),
- -> (2147483647),
- -> (2147483648);
- MariaDB [db1]> select * from t3;
- +-------------+
- | x |
- +-------------+
- | -2147483648 | #-2147483649 存成了 - 2147483648
- | -2147483648 | #有符号, 最小值为 - 2147483648
- | 2147483647 | #有符号, 最大值为 2147483647
- | 2147483647 | #2147483648 存成了 2147483647
- +-------------+
- # 设置无符号 int
- MariaDB [db1]> create table t4(x int unsigned);
- MariaDB [db1]> insert into t4 values
- -> (-1),
- -> (0),
- -> (4294967295),
- -> (4294967296);
- MariaDB [db1]> select * from t4;
- +------------+
- | x |
- +------------+
- | 0 | #-1 存成了 0
- | 0 | #无符号, 最小值为 0
- | 4294967295 | #无符号, 最大值为 4294967295
- | 4294967295 | #4294967296 存成了 4294967295
- +------------+
============== 有符号和无符号 bigint=============
- MariaDB [db1]> create table t6(x bigint);
- MariaDB [db1]> insert into t5 values
- -> (-9223372036854775809),
- -> (-9223372036854775808),
- -> (9223372036854775807),
- -> (9223372036854775808);
- MariaDB [db1]> select * from t5;
- +----------------------+
- | x |
- +----------------------+
- | -9223372036854775808 |
- | -9223372036854775808 |
- | 9223372036854775807 |
- | 9223372036854775807 |
- +----------------------+
- MariaDB [db1]> create table t6(x bigint unsigned);
- MariaDB [db1]> insert into t6 values
- -> (-1),
- -> (0),
- -> (18446744073709551615),
- -> (18446744073709551616);
- MariaDB [db1]> select * from t6;
- +----------------------+
- | x |
- +----------------------+
- | 0 |
- | 0 |
- | 18446744073709551615 |
- | 18446744073709551615 |
- +----------------------+
====== 用 zerofill 测试整数类型的显示宽度 =============
- MariaDB [db1]> create table t7(x int(3) zerofill);
- MariaDB [db1]> insert into t7 values
- -> (1),
- -> (11),
- -> (111),
- -> (1111);
- MariaDB [db1]> select * from t7;
- +------+
- | x |
- +------+
- | 001 |
- | 011 |
- | 111 |
- | 1111 | #超过宽度限制仍然可以存
- +------+
来源: https://www.cnblogs.com/6324TV/p/8481083.html