深圳市金黑网络技术有限公司始终坚持以用户需求为导向,提供安全、稳定、高效的产品和服务!
签到 · 搜索导航 · 服务热线 · 微信/手机:17817817816

深圳网站建设

查看: 378|回复: 0

mysql数据库数值型之整型

[复制链接]

UID
1
贡献
844
金币
1540
主题
520
在线时间
333 小时
注册时间
2022-1-15
最后登录
2024-11-12
QQ
发表于 2022-11-27 18:24:29 | 378 | 0 | 显示全部楼层 |阅读模式
mysql数据库数值型之整型
1、  整型
整形
占用字节数
范围
tinyint1-128~127
smallint2-32768~32767
mediumint3-8388608~8388607
int4-2147483648~2147483647
bigint8-9223372036854775808~9223372036854775807
选择的范围尽可能小,范围越小占用资源越少
代码如下:
  1. mysql> create table stu1(
  2.     -> id tinyint,      # 范围要尽可能小,范围越小,占用空间越少
  3.     -> name varchar(20)
  4.     -> );
  5. Query OK, 0 rows affected (0.02 sec)

  6. -- 超出范围会报错
  7. mysql> insert into stu1 values (128,'tom');
  8. ERROR 1264 (22003): Out of range value for column 'id' at row 1
复制代码
无符号整形(unsigned) 无符号整形就是没有负数,无符号整数是整数的两倍

  1. mysql> create table stu2(
  2.     -> id tinyint unsigned    # 无符号整数
  3.     -> );
  4. Query OK, 0 rows affected (0.02 sec)

  5. mysql> insert into stu2 values (128);
  6. Query OK, 1 row affected (0.00 sec)
复制代码
整形支持显示宽度,显示宽带是最小的显示位数,如int(11)表示整形最少用11位表示,如果不够位数用0填充。显示宽度默认不起作用,必须结合zerofill才起作用。

  1. mysql> create table stu4(
  2.     -> id int(5),
  3.     -> num int(5) zerofill   # 添加前导0,int(5)显示宽带是5
  4.     -> );
  5. Query OK, 0 rows affected (0.05 sec)

  6. mysql> insert into stu4 values (12,12);
  7. Query OK, 1 row affected (0.00 sec)

  8. mysql> select * from stu4;
  9. +------+-------+
  10. | id   | num   |
  11. +------+-------+
  12. |   12 | 00012 |
  13. +------+-------+
  14. 1 row in set (0.00 sec)
复制代码
小结:

1、范围要尽可能小,范围越小,占用空间越少
2、无符号整数是整数的两倍
3、整形支持显示宽度,显示宽带是最小的显示位数,必须结合zerofill才起作用

楼主热帖

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

快速回复 返回顶部 返回列表