• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MYSQL字段拣选参考

mysql 搞代码 7年前 (2018-06-06) 143次浏览 已收录 0个评论

mysql字段选取参考

关于mysql的字段类型的选取,以前一直没有时间总结,导致有时自己操作时也会很模糊,今天有时间整理了一下,好了不扯了现在开始

1数值型
类型                   建议                 字节        取值
TINYINT            非常小的整数(百)       1          -128-127 | 0-255
SMALLINT        较小的整数(万)           2          -32768-32767 | 0-65535
MEDIUMINT     中等大小的整数(千万)  3          -8388608-8388607 | 0-16777215
INT                      标准整数(亿)               4          -2147483648-2147483647 | 0-4294967295
BIGINT               大整数(特别大)           8          -9223372036854775808-9223372036854775807 | 0-18446744073709551615
FLOAT               单精度浮点数                   4          +-3.402823466E+38到+-1.175494351E-38
DOUBLE           双精度浮点数                   8          +-2.2250738585072014E-308到+-1.7976931348623157E+308 
DECIMAL与FLOAT和DOUBLE的区别是:DECIMAL类型的值是以字符串的形式被储存起来的,它的小数位数是固定的。它的优点是,不会象FLOAT和DOUBLE类
型数据列那样进行四舍五入而产生误差,所以很适合用于财务计算;而它的缺点是:由于它的存储格式不同,CPU不能对它进行直接运算,从而影响运算效率。
DECIMAL(M,D)总共要占用M+2个字节。

2字符串
类型
CHAR[(M)] M字节 M字节 
VARCHAR[(M)] M字节 L+1字节 
TINYBLOB,TINYTEXT 2^8-1字节 L+1字节 
BLOB,TEXT 2^16-1字节 L+2 
MEDIUMBLOB,MEDIUMTEXT 2^24-1字节 L+3 
LONGBLOB,LONGTEXT 2^32-1字节 L+4 
ENUM(‘value1’,…) 65535个成员 1或2字节 
SET(‘value1’,…) 64个成员 1,2,3或8字节 
CHAR和VARCHAR区别一个是固定长度一个可变,而后者适用于长度不固定,如果固定则不适宜,因为它会有一位来存储其长度,这样就浪费了
BLOB是二进制字符串,TEXT是非二进制字符串,其中的L+n表示数据列可变长度,mysql处理长度可变的数据时要把数据的长度保存起来
ENUM和SET类型的数据列定义里有一个列表,列表里的元素就是该数据列的合法取值

3日期时间
DATE                 3(字节)    “1000-01-01”-“9999-12-31” 
TIME                  3          “-838:59:59”-“838:59:59”
DATETIME       8          ”1000-01-01 00:00:00—“9999-12-31 23:59:59“
TIMESTAMP    4           1970/01/01到2037 格式:YYYYMMDDhhmmss
YEAR                1          1901-2155

**这里补充一下:(m)显示宽度与存储大小或类型包含的值的范围无关,但如果一个整型列中存储一个超过显示宽度的更大值时,那么在mysql进行某些复合的联结查询生成临时表时,有可能就会出问题,因为这种情况下mysql通常会信任地认为所有值均适合原始的列宽度,问题就出在这里了。

不够全面,回头再补


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MYSQL字段拣选参考

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址