哈喽,给大继续分享数据库知识,今天带来的是如何选择合适的数据类型?
我们在使用MYSQL创建数据表时都会遇到一个问题,即如何为字段选择合适的数据类型。也许很多的人会认为,这很简单啊,每个字段有很多类型来定义,比如int,float,double,decimal等。其实数据类型太多,才需要依据一些原则来“挑选”最合适的数据类型。
CHAR和VARCHAR
这两个类型都是存储字符串,但他们保存和检索方式不同。CHAR属于固定长度的字符类型,而VARCHAR属于可变长度的字符类型。
在MYSQL中,不同的存储引擎对CHAR和VARCHAR的使用原则有所不同,简单概括:
MySAM 存储引擎 建议使用国定长度的数据列代替可变长度的数据列。
MyMORY存储引擎,目前使用固定长度的数据行存储,因此无论使用CHAR或VARCHAR列都没有关系。两者都是作为CHAR类型处理。
InnoDB存储引擎,建议使用VARCHAR。
TEXT 和 BLOB
对于保存较大文本通常会使用TEXT和BLOB。二者之间差别是BLOB能用来保存二进制的数据,比如照片,而TEXT只能保存字符数据,比如一篇文章和日记。
浮点数和定点数
浮点数主要用于小数部分的数值,在MYSQL中float,double用来表示浮点数。
日期类型选择
MYSQL中常用的有DATE,TIME,DATETIME,TIMESTAMP。
总结,今天给大家介绍了常见数据类型的选择,对于字符类型,要根据存储引擎来进行相应的选择。对精度要求比较高的应用中,建议使用定点数来存储数值,以保证结果的准确性。对含有TEXT和BLOB字段的表,如果经常做删除和修改记录的操作要定时执行OPTIMEZE TABLE 功能对表进行碎片整理。日期类型要根据实际需要选择能够满足应用的最小存储的日期类型。
领取专属 10元无门槛券
私享最新 技术干货