常用数据类型分为三类:一、数值型;二、字符串型;三、日期时间型。数值型分为1、整数型;2、小数型,整数型分为tinyint(迷你整型)、smallint(小整型)、mediumint(中整型)、int(标准整型)、bigint(大整型)五种。
一、数值型
1、整数型
- tinyint:迷你整型,使用 1 个字节存储数据(常用);
- smallint:小整型,使用 2 个字节存储据;
- mediumint:中整型,使用 3 个字节存储数据;
- int:标准整型,使用 4 个字节存储数据(常用);
- bigint:大整型,使用 8 个字节存储数据。
2、小数型
小数型,即带有小数点或者范围超出整型的数值类型。
- 浮点型:小数点浮动,精度有限,容易丢失精度。浮点型数据是一种精度型数据,因为超出指定范围之后,其会丢失精度,自动进行四舍五入操 作。浮点型分为两种精度:float(单精度),占用 4 个字节存储数据,精度范围大概为 7 位左右;double(双精度),占用 8 个字节存储数据,精度范围大概为 15 位左右。浮点型的使用方式:如果直接用float,则表示没有小数部分;如果用float(M,D),其中M代表总长 度,D代表小数部分长度,M-D则为整数部分长度。
- 定点型:小数点固定,精度固定,不会丢失精度。定点型数据,绝对的保证整数部分不会被四舍五入,也就是说不会丢失精度,但小数部分有可能丢失精度,虽然理论上小数部分也不会丢失精度。
二、字符串型
- 定长字符串:char,即磁盘(二维表)在定义结构的时候就已经确定了最终数据的存储长度。char(L):L 表示 Length,即可以存储的长度,单位为字符,最大长度为 255。
- 变长字符串:varchar,即在分配存储空间的时候,按照最大的空间分配,但是实际用了多少,则是根据具体的数据来确定。varchar(L):L 表示 Length,理论长度是 65536,但是会多出 1 到 2 个字节来确定存储的实际长度。如果数据量非常大,通常说超过 255 个字符就会使用文本字符串。
- 文本字符串:根据存储的格式进行分类,可以分为:text:存储文字;blob:存储二进制数据(其实际上都是存储路径),通常不用。
- 枚举字符串:enum,需要事先将所有可能出现的结果都设计好,实际上存储的数据必须是规定好的数据中的一个。
- 数组字符串:set,用来保存集合。
三、日期时间型
- datetime:日期时间,其格式为yyyy-MM-dd HH:mm:ss,表示的范围是从 1000 年到 9999 年,有零值,即0000-00-000000:00;
- date:日期,就是datetime的date部分;
- time:时间,或者说是时间段,为指定的某个时间区间之间,包含正负时间;
- timestamp:时间戳,但并不是真正意义上的时间戳,其是从1970年开始计算的,格式和datetime一致。
- year,年份,只保存年份信息。
延伸阅读
定长字符串和变长字符串的比较
- 定长字符串对磁盘空间比较浪费,但是效率高:如果数据基本上确定长度都一样,就使用定长字符串,例如身份证、电话号码等;
- 变长字符串对磁盘空间比较节省,但是效率低:如果数据不能确定长度(不同的数据有变化),就使用变长字符串,例如地址、姓名等。
文章标题:常用数据类型有哪些,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/34545