<meta charset="utf-8">
MySQL数据类型:
desc 查看列和数据的类型(表结构)
整数型:存放整型数据
tinyint:迷你整型,使用1个字节存储,表示的状态最多为256种(常用) 有符号 (-128-127)无符号(0-255)
smallint:小整型,使用2个字节存储,表示的状态最多为65536种
mediumint:中整型,使用3个字节存储
int:标准整型,使用4个字节存储(常用)
bigint:大整型,使用8个字节存储
整型
-- 创建整型表
create table my_int(
int_1 tinyint,
int_2 smallint,
int_3 int,
int_4 bigint,
)charrset utf8;
-- c插入数据
insert into my_int
values(100,100,100,100); -- 有效数据
insert into my_int
values('a','b','199','f'); -- 无效数据;类型限定
insert into my_int
values(255,10000,10000,1000000); -- 错误,超出范围
-- 给表增加一个无符号类型
alert table my_int add int_5 tinyint unsigned; -- 无符号类型
-- c插入数据
insert into my_int
values(127,10000,10000,1000000,255);
-- 指定显示宽度为1
alert table my_int add int_6 tinyint(1) unsigned;
-- c插入数据
insert into my_int
values(127,0,0,0,255,255);
-- 显示宽度为2,0填充(不够两位,加0)
alert table my_int add int_7 tinyint(2) zerofill; --导致数据变成无符号类型
-- c插入数据
insert into my_int
values(1,1,1,1,1,1,1);
insert into my_int
values(100,100,100,100,100,100,100);
浮点型
小数型:带有小数点或者范围超出整型的数值类型
浮点型:小数点浮动,精度有限,而且会丢失精度
定点型:小数点固定,精度固定,不会丢失精度
--创建 浮点数表
create table my_float(
f1 float
f2 float(10,2), --10位在精度范围之外
f3 float(6,2) --六位在精度范围之内
)charset utf8;
-- c插入数据
insert into my_float
values(1000.10,1000.10,1000.10);
insert into my_float
values(1234567890,12345678.90,1234.56);
insert into my_float
values(3e38,3.01e7,1234.56);
insert into my_float
values(9999999999,99999999.99,9999.99); -- 后两个是最大值·
-- 超出长度插入数据
insert into my_float
values(123456,1234.12345678,123.9876543);--小数部分可以超出长度
insert into my_float
values(123456,1234.12,12345.56); -- 最后一个整数部分超出
-- 创建定点数biao
create table my_decimal(
f1 float(10,2),
d1 decimal(10,2)
)charset utf8;
-- 插入数据
insert into my_decimal
values(12345678.90,12345678.90); -- 有效数据
insert into my_decimal
values(1234.123456,1234.123456); --小数部分可以超出长度
-- 查看警告
show warnings;
-- 插入数据
insert into my_decimal
values(99999999.99,99999999.99); -- 没有问题
insert into my_decimal
values(99999999.99,99999999.999); --进位超出范围
作者:Ancestor楠
链接:https://www.jianshu.com/p/5116d1c8068c
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。