暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

第25讲:MySQL数据类型、整数类型介绍

何先振 2023-10-30
185

以下文章来源于何先振,责编小何


MySQL数据类型



常见的数据类型:


整数类型:tinyint、smallint、mediumint、int(integer)、bigint


浮点类型:float、double


定点数类型:decimal


位类型:bit


日期时间类型:year、time、date、datetime、timestamp


文本字符串类型:char、varchar、tinytext、text、mediumtext、longtext


枚举类型:enum


集合类型:set


二进制字符串类型:

binary、varbinary、tinyblob、blob、mediumblob、longblob


JSON类型:json对象、json数组


空间数据类型:


单值类型:geometry、point、linestring、polygon


集合类型:

multipoint、multilinestring、multipolygon、geometrycollection


常见数据类型的属性:


null:数据列可包含null值


not null:数据列不允许包含null


default:默认值


primary key:主键


auto_increment:自动递增,适用于整数类型


unsigned:无符号


character set name:指定一个字符集


关于character set name属性说明:


创建数据库指定字符集





查看数据库的创建信息





创建表的时候,指明表的字符集





查询表的创建信息





创建表,指明表中的字段时,可以指定字段的字符集。





设置name字段字符集后,针对name的字段,就是gbk





my.ini (MySQL整体配置)>数据库>表>字段





整数类型



整数类型一共有5种:

tinyint、smallint、mediumint、int(integer)和bigint


他们之间的区别,字节数越来越大,表示数的范围不一样。





数值范围举栗子:


创建5种整数型的表





查看字段信息





添加在对应类型的数值范围的数值





都可以存下





超出有符号的数值范围,就报错了





其他类型也是一样,超出类型所表示的数值范围就会报错。


显示宽度和ZEROFILL属性介绍


MySQL5.7的时候会展示各类型数据的宽度(字符+数字=宽度值)





创建一张表,指明显示宽度,并且f3字段添加了ZEROFILL属性





超出范围也不会报错,因为显示宽度不影响实际的宽度,实际的宽度更大。





f3字段后面加了ZEROFILL,显示宽度为5,当insert的值不足5位时,使用0填充





使用ZEROFILL属性声明的字段,自动会添加UNSIGNED,表示无符号。





从MySQL8.0开始,整数数据类型不推荐使用显示宽度属性。





UNSIGNED属性介绍


创建带有UNSIGNED字段的表





变成10,因为这是表示无符号的范围








适用场景


tinyint:一般用于枚举数据,比如系统设定取值范围很小且固定的场景。


smallint:可以用于较小范围的统计数据,比如统计公司的固定资产库存数量等。


mediumn:用于较大整数的计算,比如车站每日的客流量等。


int、integer:取值范围足够大,一般情况下不用考虑超限问题,用得最多。比如商品编号。


bigint:只有当处理特别巨大的整数时才会用到。比如双十一的交易量、大型门户网站的点击量、证券公司衍生产品持仓等。


推荐阅读书籍




点击上方"何先振"关注并选择设为星标
各类IT技术文章不会错过!

文章转载自何先振,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论