MySQL中常用的字段类型

字段类型有如下几种

1)整数类型
2)小数类型
3)字符串类型
4)时间字符串类型
字段类型的作用:MySQL中用来规定实际存储的数据格式
1、整数类型

Mysql中为了数据空间的有效使用,设定了五种整数类型

迷你整数:tinyint,使用1个字节存储整数,最多存储256个整数
短整数:smallint,使用2个字节存储整数
中整型:mediumint,使用3个字节存储整数
标准整型:int,使用4个字节存储整数
大整型:bigint,使用8个字节存储
注意:整数型存储在mysql中分为有符号和无符号

image

image

显示宽度
显示宽度是显示整型能表示的最多符号数量
显示宽度能主动设置,但是绝对不会改变类型本身能表示的数据大小
可以通过zerofill来强制让不够宽度的数据补充前置0来达到显示宽度
zerofill默认要求整型为无符号
zerofill通常用来制作一些规范宽度的数据

2、小数类型

浮点型(不精确):float/double

 float,使用4个字节存储,精度范围为6-7位有效数据
 double,使用8个字节存储,精度范围14-15位有效数字
 浮点数超过进度范围就会自动进入四舍五入

image

定点型(精确):decimal,能够保证精度的小数,不固定存储空间

decimal:默认整数部分为10位,小数部分为0位
decimal(有效位数,小数位数):整数部分为:有效位数-小数位数
定点数的存储模式不是固定长度,所有数据越大占用的存储空间越长

image

3、字符串类型

定长型:char(L),指定固定长度的存储空间来存储字符串
特点

定长是指定存储长度
定长的长度是字符而不是字节
L的最大值是255
实际存储空间:L字符集*字符集对应字节数

优缺点:定长的访问效率较高,但是空间利用率不高

变长型:varchar(L),根据实际存储的数据变化存储空间

特点

变长型的存储空间是由实际存储数据决定的
变长型的L是指定字符而不是字节
变长需要额外产生1-2个字节,用来记录实际数据的长度

优缺点:变长字符串能够更好的利用存储空间,变长字符串在读取时需要进行长度计算,所以效率没有定长字符串高

本文字符串:text/blob,专门用来存储较长的文本

文本字符串包含两大类

 text:普通字符
 blob:二进制字符(与text类型)

一般在文本超过255个字符时,都会使用text类型

枚举:一种映射存储方式,比较小的空间存储较多的数据
枚举语法:enum(元素1,元素2,…元素N)
特点

1、枚举是在定义时确定可能出现的问题
2、枚举在定义后数据只能出现定义时其中的一种

集合:set,一种映射存储方式,以较小的空间存储较多的数据
集合语法:set(元素1,元素2,…元素N)

特点

1、确定数据时固定的几种数据组合
2、使用集合穷举相应的元素
3、数据存储只能选择穷举中的元素组合
4、时间日期类型

年:year,MySQL中用来存储年份的类型
MySQL中使用1个字节存储年份
year能够表示的范围是1901-2155(256)

时间戳:timestamp,基于格林威治时间的时间记录

MySQL中时间戳表现形式不是秒数,而是年月日时分秒格式
timestamp使用4个字节存储
timestamp的特点是所对应的记录不论哪个字段被更新,该字段都会更新到当前时间
mysql8以后,取消了timestamp的默认自认更新,如果需要使用,需要额外使用属性:on update current_timestamp

日期:date,用来记录年月日信息

使用3个字节存储数据
存储日期的格式为:YYYY-MM-DD

日期时间:datetime,用来综合存储日期和时间

使用8个字节存储数据
存储格式为:YYYY-MM-DD HH:ll:SS

时间:time,用来记录时间或者时间段

使用3个字节存储数据
数据插入的格式分为两种
时间格式:[H]HH:ll:SS
时间段格式 D HH:ll:SS(D表示天)

原文地址:http://www.cnblogs.com/lil4257/p/16897945.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性