在使用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。每个时间类型都有一个有效值范围,以及一个“ 零 ”值。
从下表可以看出每种类型的“ 零 ”值的格式。
“零”值的格式
-
字符串
+关注
关注
1文章
594浏览量
23033 -
MySQL
+关注
关注
1文章
897浏览量
29208
发布评论请先 登录
如何选择合适的光纤适配器
SQL 通用数据类型
MySQL数据库是什么
IEC101协议可以传输什么类型的数据
工业智能网关采集能耗数据对接到MySQL数据库
labview数据类型与PLC 数据类型之间的转换(来自于写入浮点数到汇川 PLC中的数据转换关键的修改)
数据库数据恢复——MySQL数据库误删除表记录的数据恢复案例
如何根据电路需求选择合适村田电感型号?
如何选择合适的PLD型号
如何选择合适的量水堰计型号与规格
适用于MySQL的ODBC驱动程序:可与多个第三方工具兼容的数据连接器
MySQL数据库的安装

MySQL为字段选择合适数据类型
评论