深入了解mysql的4种常用、重要的数据类型

所属分类: 数据库 / Mysql 阅读数: 1485
收藏 0 赞 0 分享

为了实现这一目标,它需要我们在数据库系统的常用数据类型有充分的认识。

下面我们来看一下mysql的重要数据类型

1、数值类型可以划分为数值类型:整型,浮点十进制类型。

所谓的“十进制”是指decimal和numeric,他们是同一类型的。严格地说,它不是一个数字类型,因为他们实际上是作为字符串存储,每一个数字值(包括小数点)占一个字节的存储空间,所以这种类型的消耗大量的存储空间,但它的优点是它的价值不会失去做浮点数计算精度,它更适合一些计算精度要求高,如价格计算。浮动取决于不同精度的类型可以是float或double。它们的优点是小数的精度,FLOAT可以表示非常小的值,可以是最小的值约1.17E-38(0.000 … 0117,小数点后的37零),双重可以表达更小的数,最小的数可以约2.22E-308(0.000 … 0222,小数点以及后跟307个零)的小数。float和double分别为4字节和8字节的存储空间。

对于整型,在MySQL中有很多不同类型的整数,在设计数据库表,我们可以有一个字节TINYINT或8字节BIGINT等,所以我们应该把过多考虑哪个类型来使用,以获得最小的存储空间,而不会失去任何准确性值。

TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT 1字节,2字节,3字节,4字节和8字节。对于无符号整数,这些类型能表示的最大整数是分别255,65535,16777215,4294967295 18446744073709551615。如果我们需要保存用户的年龄,TINYINT就够了;如果是自增的ID,我们应该使用MEDIUMINT而不是INT,INT还 是太大了。很多数据表并不会达到MEDIUMINT的范围

2、日期时间输入的日期和时间类型比较简单

如DATE,TIME,DATETIME,TIMESTAMP和YEAR。如果我们只需要关心的日期,但没有分秒我们应该使用Date,而不是DATETIME,但DATETIME是其中最常用的,一切按实际需要设计

3、字符类型不要以为字符类型仅仅是CHAR

CHAR和VARCHAR的区别是,CHAR是固定长度。如果你定义一个字段CHAR(10),那么无论多少字节的数据,这将需要10个字节的空间;对于18位的身份证号码,则应该使用Char(18),

VARCHAR是可变长度的,如果我们有一个字段的值有不同的长度,那么我们应该使用VARCHAR 。

4、枚举和集合类型枚举(ENUM)类型

最多可以定义到65,535种不同的字符串从中做出选择。

这可能需要取决于有多少个值在枚举类型中的一个或两个字节。集合(SET)类型,最多可以有64个不同的成员,你可以选择零个或多个成员,集合成员的数量决定。例如,在SQLServer中,你可以使用BIT类型来表示性别(男/女),但MySQL中,BIT在不同版本数据库中取值有差异,而使用TINTINT有时浪费的,你可以用ENUM('男','女'),这样可以节约很大空间

更多精彩内容其他人还在看

Mac 将mysql路径加入环境变量的方法

这篇文章主要介绍了Mac如何将mysql路径加入环境变量,有需要的朋友好按照下面的步骤操作即可
收藏 0 赞 0 分享

mysql 增加修改字段类型及删除字段类型

本节主要介绍了mysql如何增加修改字段类型及删除字段类型,需要的朋友可以参考下
收藏 0 赞 0 分享

Mysql主从复制(master-slave)实际操作案例

这篇文章主要介绍了Mysql主从复制(master-slave)实际操作案例,同时介绍了Mysql grant 用户授权的相关内容,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL异常处理浅析

这篇文章主要介绍了MySQL的异常处理,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL存储毫秒数据的方法

MySQL中没有可以直接存储毫秒数据的数据类型,但是不过MySQL却能识别时间中的毫秒部分。这篇文章主要介绍了MySQL存储毫秒数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

MySql中使用INSERT INTO语句更新多条数据的例子

这篇文章主要介绍了MySql中使用INSERT INTO语句更新多条数据的例子,MySQL的特有语法,需要的朋友可以参考下
收藏 0 赞 0 分享

Windows下MySql错误代码1045的解决方法

这篇文章主要介绍了Windows下MySql错误代码1045的解决方法,文中还包含了2个Linux下的解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句

这篇文章主要介绍了mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句,一般在一些统计报表中比较常用这个时间段,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql的中文数据按拼音排序的2个方法

这篇文章主要介绍了mysql的中文数据按拼音排序的2个方法,用于一些特殊环境,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL定期分析检查与优化表的方法小结

听DBA的人说,相比oracle,MySQL就是一个玩具级别的数据库,在网易门户中,DBA基本很少去管理到MySQL的东西,所以我们产品使用到的MySQL的一些配置和优化还是需要我们开发人员自己动手,下面就简单介绍一下实用的定期优化方法
收藏 0 赞 0 分享
查看更多