博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL字段类型简介
阅读量:5254 次
发布时间:2019-06-14

本文共 1469 字,大约阅读时间需要 4 分钟。

MySQL的数据类型非常多,这节只介绍数据类型,下节介绍如何正确选择优化的数据类型。
整数类型
存储整数可选择这几种类型 :TINYINT,SMALLINT,MEDIUINT,INT,BIGINT。分别是8,16,24,32,64位存储空间。可以存储的值的范围从-2的(N-1)次方到2的(N-1)次方-1,N是存储空间位数。
UNSIGNED是整数类型可选属性,表示不允许负数,这样一来存储的整数可能大一倍。比如TINYINT可存储范围是-128 ~ 127,TINYINT UNSIGNED可存储范围是0 ~ 255。
当我们为整数类型指定长度时,比例INT(11),其实对大多数应用是没有作用的:不会限制存储的范围,只规定了MySQL的一些交互工具显示的字符数。对存储来讲,INT(1)和INT(10)是相同的。
实数类型
实数带有小数点。可选的类型有:FLOAT,DOUBLE,DECIMAL。其中FLOAT和DOUBLE支持浮点运算,FLOAT占用4个字节,DOUBLE占用8个字节。在MySQL5.0更高的版本中DECIMAL支持精确计算,采用的是MySQL服务实现的高精度计算,因此比浮点计算慢些。
因为占用更多的存储空间和复杂的计算,只有在对小数进行精确计算时才推荐使用DECIMAL。其实也有另一种实现方案:用BIGINT替代DECIMAL。将要存储的数字转换成最小单位,消除小数后存储到BIGINT,取出数据之后再除以小数倍数即可。例如存储RMB金额100.12,将100.12*100 = 10012,存储到BIGINT。查询出之后在程序中将10012 / 100 = 100.12还原。这样就避免了浮点运算不精确和DECIMAL代价较高的问题。
字符串类型
常见的有变长VARCHAR和固定长度的CHAR。变长的VARCHAR理论上更节省存储空间。但并非所有情况都是如此,这个问题下节再讨论。CHAR类型是定长的,MySQL问题分配足够的空间。
还有BINARY和VARBINARY,用来储存二进制字符串,储存的是字节码。有时候存储二进制字节码用来比较很有优势:1,大小写敏感;2,比较BINARY字符串时,每次按一个字节的数值比较,因此更简单也更快。
大字段
字符类型有:TINYTEXT,SMALLTEXT,TEXT,MEDIUTEXT,LONGTEXT;
二进制类型有:TINYBLOB,SMALLBLOB,BLOB,MEDIUBLOB,LONGBLOB。
TEXT是SMALLTEXT的同义词,BLOB是SMALLBLOB的同义词。
日期类型
日期类型有DATE,TIME,YEAR,DATETIME,TIMESTAMP。
日期类型一般可选性不多,主要是DATETIME和TIMESTAMP之间的区别:
 
保存范围
时区有关
存储空间
DATETIME
1001年 ~ 9999年
8字节
TIMESTAMP
1970年 ~2038年
4字节
如果没有特殊情况,一般尽量使用TIMESTAMP,如果要求时区相关就必须使用TIMESTAMP,还有就是TIMESTAMP保存的是1970年以来的秒数,和UNIX时间戳是一样的,4个字节的存储比DATETIME效率更高。
目前MySQL不支持保存比毫秒更精确度更高的时间,只能自己想办法解决,可以采用将毫秒或者微秒转换成整型保存在BIGINT类型。

转载于:https://www.cnblogs.com/c04s31602/p/11210337.html

你可能感兴趣的文章
Oracle--通配符、Escape转义字符、模糊查询语句
查看>>
子网划分讲解及练习(一)
查看>>
c# 文件笔记
查看>>
第一页 - 工具的使用(webstorm)
查看>>
The Number of set-hdu-3006
查看>>
ssh 免签登录 亲测可以
查看>>
Linux 进程资源用量监控和按用户设置进程限制
查看>>
IE浏览器整页截屏程序(二)
查看>>
D3.js 之 d3-shap 简介(转)
查看>>
制作满天星空
查看>>
类和结构
查看>>
CSS3选择器(二)之属性选择器
查看>>
【前端统计图】echarts多条折线图和横柱状图实现
查看>>
thinkphp save()方法没有数据,保存失败解决办法
查看>>
★用辩证数学解答“缸中之脑”
查看>>
使用SSM架构的使用,打算使用json
查看>>
支付宝红包唤起 支付宝自动搜索
查看>>
花了一年时间开发出来的AutoCAD矢量字库编辑器
查看>>
win10的资源管理器,边框不见了
查看>>
cocos2dx加密解密资源
查看>>