大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
MySQL支持多种数据类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。其中, 整数类型包括:tinyint、smallint、mediumint、int和bigint。
其中,tinyint的大小为1字节,即8位二进制。在无符号的情况下,值得范围(0,255)。在有符号的情况下,值得范围(-128,127)。本文将通过测试验证tinyint值的范围。
1.有符号
1.1建表
创建表person,包含name 和score两列。其中score的类型是Tinyint,默认为有符号。
create table person (
name varchar(20),
score tinyint
);
1.2插入数据
mysql> insert into person values('April',128);
ERROR 1264 (22003): Out of range value for column 'score' at row 1
mysql> insert into person values('April',127);
Query OK, 1 row affected (0.00 sec)
插入128时报错,原因是值越界。插入127时成功。这验证了tinyint在有符号的情况下,上界是127。
mysql> insert into person values('April',-129);
ERROR 1264 (22003): Out of range value for column 'score' at row 1
mysql> insert into person values('April',-128);
Query OK, 1 row affected (0.00 sec)
插入-129时报错,原因是值越界。插入-128时成功。这验证了tinyint在有符号的情况下,下界是-128。
1.3 查询数据
select * from person;
2.无符号
2.1建表
创建表person,包含name 和score两列。其中score的类型是Tinyint unsigned 。
create table person (
name varchar(20),
score tinyint unsigned
);
2.2插入数据
mysql> insert into person values('April',256);
ERROR 1264 (22003): Out of range value for column 'score' at row 1
mysql> insert into person values('April',255);
Query OK, 1 row affected (0.00 sec)
插入256时报错,原因是值越界。插入255时成功。这验证了tinyint在无符号的情况下,上界是255。
mysql> insert into person values('April',-1);
ERROR 1264 (22003): Out of range value for column 'score' at row 1
mysql> insert into person values('April',0);
Query OK, 1 row affected (0.00 sec)
插入-1时报错,原因是值越界。插入0时成功。这验证了tinyint在无符号的情况下,下界是0。
2.3查询数据
select * from person;
综上,tinyint在无符号的情况下,值得范围(0,255)。在有符号的情况下,值得范围(-128,127)。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/191142.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...