在使用mysql创建数据表时,经常会遇到如何为字段选择合适的数据类型的问题,接下来我们一起分析字符串、数值、日期数据类型的选择。
1、char与varchar
char和varchar类型,都用来存储字符串,但它们被存储和检索的方式不同。它们的最大长度以及是否保留尾部空格也不同。char属于固定长度的字符类型,而varchar属于可变长度的字符类型。
下表将各种字符串值存储到 char(4)和varchar(4) 列后的结果,从而说明了char和varchar之间的区别。并且在查询数据时char列会删除尾部的空格。
char与varchar
建议:
在存储定长字符时推荐使用char,在存储列是不定长时字符推荐使用合适长的varchar。
在使用char和varchar时,后面跟的数字为满足需要的最小值。
2、blob和text类型
blob是一个二进制大对象,text是一个的文本大对象。blob和 text分别包括tinyblob,blob, mediumblob,longblob和tinytext,text, mediumtext,longtext四种不同的类型。它们之间的区别主要是存储文本长度和存储字节个数的不同。
建议:
对于存在text或blob列的表,查询数据是应避免查询这些字段。
如果可以的话应该把blob或text列分离到单独的表中,以提升数据处理性能。
3、定点类型与浮点类型
定点类型,decimal类型的存储精确的数值数据。当对精确度要求很高时,例如金额数据,应使用定点类型。mysql decimal以二进制格式存储值。
浮点类型,float和double类型代表近似值数据。float单精度需要四个字节存储,double双精度需要八个字节存储。
4、日期和时间数据类型
mysql提供常用的日期和时间数据类型有 date, time, datetime, timestamp,和 year。每个时间类型都有一个有效值范围,以及一个“ 零 ”值。
从下表可以看出每种类型的“ 零 ”值的格式。
“零”值的格式
魅蓝Note与魅蓝Note2有哪些区别
腾讯市值1月峰值以来下跌25%蒸发1400亿美元
FF91还要闯三关?FF和特斯拉的差别在哪?
大模型为什么是深度学习的未来?
陆芯IGBT用于各类高频电源产品
MySQL为字段选择合适数据类型
东软载波变频风机应用助力客户产品在减碳降耗方面做“减法”
iPhone8将通过双卡双待和双曲面屏向安卓机皇三星手机逼近
这几家芯片商加强布局,瞄准车用半导体市场
正式确认Redmi K30 Pro将采用Snapdragon 865 SoC
Molex 为 PROFIBUS 控制器推出 SST™ PB3-CPX 模块
TCL小易P360W评测 绝对是物超所值
机器学习和预测分析两者之间如何相互关联?
5G创造万亿美元规模的新市场,2021年5G芯片市场会精彩绝伦
串口几种常见丢失数据的问题
“飞腾 麒麟”信创主题交流活动举办 40家粤港澳大湾区企业共话信创
汽包水位测量系统常用的汽包水位计有哪些
知行合一打开混合云之门
董明珠为何铁了心,孤注一掷也要造电动车?
18650电芯的容量是多少_18650电芯容量测试