2019-07-11

列类型分为:

日期时间型、数值型、字符串型;

数值型:

    整数型:

        tinyint 迷你整数型,1个字节储存,表示的状态最多为256种

        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

)charset utf8;

插入数据:

insert into my_int values(100,100,100,100);(有效数据)

insert into my_int values('a','b','199','f');(插入无效数据)

报错:数值类型不符;

insert into my_intvalues(255,10000,100000,1000000);

ERROR 1264 (22003): Out of range value for column 'int_1' at row 1报错:超出类型;

给表增加一个无符号类型

alter table my_int add int_5 tinyint unsigned;

有符号无符号的差别

指定显示宽度为1然后查询表内数据;

alter table my_int add int_6 tinyint(1) unsigned;

select * from my_int

可以看到数据并没有发生变化

小数型;

        浮点型:小数点浮动,精度有限,而且会丢失精度

        定点型:小数点固定,精度固定,不会丢失精度

浮点数的表

create table my_float(

f1 float,

f2 float(10,2),

f3 float(6,2)

)charset utf8;

创建成功

插入数据:

insert into my_float values(

1000.10,1000.10,1000.10);

insert into my_float values(

1234567890,1356654.90,1345.56);

insert into my_float values(

3e35,01e7,1234.56);

超出长度插入:(超出的小数部分系统会自动四舍五入)

insert into my_float values(

1000.10555,1000.10546564,1000.1046564);

insert into my_float values(

1234567890,1356654.90,1345.56);

insert into my_float values(

3e35,01e7,1234.56);

如果整数部分超出则报错;但是浮点型的精度不是很准。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。