分析MySQL数据类型的长度

MySQL有几种数据类型可以限制类型的"长度",有CHAR(Length)、VARCHAR(Length)、TINYINT(Length)、SMALLINT(Length)、MEDIUMINT(Length)、INT(Length)、BIGINT(Length)、FLOAT(Length, Decimals)、DOUBLE(Length, Decimals)和DECIMAL(Length, Decimals)。

然而,这些数据类型的长度,并不是都指数据的大小。具体说就是:
(1)CHAR、VARCAHR的长度是指字符的长度,例如CHAR[3]则只能放字符串"123",如果插入数据"1234",则从高位截取,变为"123"。 VARCAHR同理。

(2)TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT的长度,其实和数据的大小无关!Length指的是显示宽度,举个例子:int(3) 为显示为3位 存数字1  则显示为 001

可以看出,id的显示宽度为3,不足的左边补0,数据长度超过的则原样输出。如果没有zerofill,则看不出显示宽度,没有前导零。

(3)FLOAT、DOUBLE和DECIMAL的长度指的是全部数位(包括小数点后面的),例如DECIMAL(4,1)指的是全部位数为4,小数点后1位,如果插入1234,则查询的数据是999.9。过程如下


附录 常见MySQL数据类型(留作备忘)

类 型

大 小

描 述

CAHR(Length)

Length字节

定长字段,长度为0~255个字符

VARCHAR(Length)

String长度+1字节或String长度+2字节

变长字段,长度为0~65 535个字符

TINYTEXT

String长度+1字节

字符串,最大长度为255个字符

TEXT

String长度+2字节

字符串,最大长度为65 535个字符

MEDIUMINT

String长度+3字节

字符串,最大长度为16 777 215个字符

LONGTEXT

String长度+4字节

字符串,最大长度为4 294 967 295个字符

TINYINT(Length)

1字节

范围:-128~127,或者0~255(无符号)

SMALLINT(Length)

2字节

范围:-32 768~32 767,或者0~65 535(无符号)

MEDIUMINT(Length)

3字节

范围:-8 388 608~8 388 607,或者0~16 777 215(无符号)

INT(Length)

4字节

范围:-2 147 483 648~2 147 483 647,或者0~4 294 967 295(无符号)

BIGINT(Length)

8字节

范围:-9 223 372 036 854 775 808~9 223 372 036 854 775 807,或者0~18 446 744 073 709 551 615(无符号)

FLOAT(Length, Decimals)

4字节

具有浮动小数点的较小的数

DOUBLE(Length, Decimals)

8字节

具有浮动小数点的较大的数

DECIMAL(Length, Decimals)

Length+1字节或Length+2字节

存储为字符串的DOUBLE,允许固定的小数点

DATE

3字节

采用YYYY-MM-DD格式

DATETIME

8字节

采用YYYY-MM-DD HH:MM:SS格式

TIMESTAMP

4字节

采用YYYYMMDDHHMMSS格式;可接受的范围终止于2037年

TIME

3字节

采用HH:MM:SS格式

ENUM

1或2字节

Enumeration(枚举)的简写,这意味着每一列都可以具有多个可能的值之一

SET

1、2、3、4或8字节

与ENUM一样,只不过每一列都可以具有多个可能的值

以上 转自 https://blog.csdn.net/DayDreamingBoy/article/details/6310907

Mysql文字长度限制TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT

有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。

BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。

tinytext, tinyBlob: 最大长度255个字元(2^8-1)

text, Blob: 最大长度65535个字元(2^16-1)

mediumtext, mediumBlob: 最大长度 16777215 个字元(2^24-1)

longtext, longBlob: 最大长度4294967295个字元 (2^32-1)

最新文章

  1. DataGridView列的宽度、行的高度自动调整
  2. php 常用数组操作
  3. winform ListView应用之分组、重绘图标、网格线 (c# .net winform)
  4. Entity FrameWork 中使用Expression<Func<T,true>>访问数据库性能优化
  5. 如何在 Laravel 中使用 SMTP 发送邮件(适用于 163、QQ、Gmail 等)
  6. iOS开发项目之一 [ 项目流程]
  7. .NetDOM操作--un
  8. 服务器time_wait状态原因
  9. Hibernate的BaseDao辅助类
  10. Linux开启相关端口及查看已开启端口
  11. linux常用命令系列—cp 复制文件与文件夹
  12. redis php sort 函数
  13. Caliburn.Micro - 框架搭建
  14. 【bzoj4009 hnoi2015】接水果
  15. C# HtmlElement的GetAttribute("class") return ""
  16. TOJ 2778 数据结构练习题――分油问题(广搜和哈希)
  17. 图像阈值化-threshold、adaptivethreshold
  18. Double Array Trie 的Python实现
  19. 【转】15个最受欢迎的Python开源框架
  20. sql server中如何将两个字段数据合并成一个字段显示(字段与字段添加特殊符号)

热门文章

  1. WIN10操作系统如何利用无线网卡连接wifi再通过有线网卡共享网络给路由(双网卡)
  2. (0321) 路科 视频 ,讲 uvm_pkg
  3. linux dma
  4. js中的this的指向问题
  5. 解决: 无法打开明确指定的数据库“SSISDB”, 用户 'NT Service\SSISScaleOutMaster150' 登录失败.
  6. 蓝桥杯训练赛二-1169 问题 D: 绝对值排序
  7. j2ee目录索引
  8. Centos7 安装Mysql8 主从数据库
  9. GitBook的使用备忘
  10. Java实现输出三角形