因为最近要登记一些长度较大的数值,今天才仔细的查看了bigint的范围。
以前都忽略了mysql中数据长度的上限问题。
在mysql中创建表时,varchar类型必须指定长度,int类型可以不指定长度。当然,在mysql中使用界面创建表(不使用sql语句创建表),若不指定长度,它会为你指定默认长度,下面对mysql中常见的几种数据类型的默认长度和最大长度进行了总结。
数据类型
|
默认长度
|
最大长度
|
varchar
|
255
|
65535
|
char
|
255
|
65535
|
double
|
0
|
255
|
floa t
|
0
|
255
|
int
|
11
|
255
|
tinyint
|
4
|
255
|
bigint
|
20
|
255
|
date
|
0
|
0
|
datetime
|
0
|
0
|
text
|
0
|
0
|
数字类型
类型
|
大小
|
范围(有符号)
|
范围(无符号)
|
用途
|
TINYINT
|
1 字节
|
(-128,127)
|
(0,255)
|
小整数值
|
SMALLINT
|
2 字节
|
(-32 768,32 767)
|
(0,65 535)
|
大整数值
|
MEDIUMINT
|
3 字节
|
(-8 388 608,8 388 607)
|
(0,16 777 215)
|
大整数值
|
INT或INTEGER
|
4 字节
|
(-2 147 483 648,2 147 483 647)
|
(0,4 294 967 295)
|
大整数值
|
BIGINT
|
8 字节
|
(-9 233 372 036 854 775 808,9 223 372 036 854 775
807)
|
(0,18 446 744 073 709 551 615)
|
极大整数值
|
FLOAT
|
4 字节
|
(-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175
494 351 E-38,3.402 823 466 351 E+38)
|
0,(1.175 494 351 E-38,3.402 823 466
E+38)
|
单精度 浮点数值
|
DOUBLE
|
8 字节
|
(1.797 693 134 862 315 7 E+308,2.225 073 858 507
201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7
E+308)
|
0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862
315 7 E+308)
|
双精度 浮点数值
|
DECIMAL
|
对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2
|
依赖于M和D的值
|
依赖于M和D的值
|
小数值
|
字符类型
CHAR
|
0-255字节
|
定长字符串
|
VARCHAR
|
0-255字节
|
变长字符串
|
TINYBLOB
|
0-255字节
|
不超过 255 个字符的二进制字符串
|
TINYTEXT
|
0-255字节
|
短文本字符串
|
BLOB
|
0-65 535字节
|
二进制形式的长文本数据
|
TEXT
|
0-65 535字节
|
长文本数据
|
MEDIUMBLOB
|
0-16 777 215字节
|
二进制形式的中等长度文本数据
|
MEDIUMTEXT
|
0-16 777 215字节
|
中等长度文本数据
|
LOGNGBLOB
|
0-4 294 967 295字节
|
二进制形式的极大文本数据
|
LONGTEXT
|
0-4 294 967 295字节
|
极大文本数据
|
枚举、集合
ENUM (最多65535个成员)
64KB
SET (最多64个成员)
64KB
时间类型
类型
|
大小 (字节)
|
范围
|
格式
|
用途
|
DATE
|
3
|
1000-01-01/9999-12-31
|
YYYY-MM-DD
|
日期值
|
TIME
|
3
|
'-838:59:59'/'838:59:59'
|
HH:MM:SS
|
时间值或持续时间
|
YEAR
|
1
|
1901/2155
|
YYYY
|
年份值
|
DATETIME
|
8
|
1000-01-01 00:00:00/9999-12-31 23:59:59
|
YYYY-MM-DD HH:MM:SS
|
混合日期和时间值
|
TIMESTAMP
|
8
|
1970-01-01 00:00:00/2037 年某时
|
YYYYMMDD HHMMSS
|
混合日期和时间值,时间戳
|
分享到:
相关推荐
MySQL常用数据类型的介绍。配有简单例子。例如 VARCHAR 具有最大限制的可变长度的字符串 变量; 1 + 实际字符串长度 (高达 255 字符) 存储不同长度的字符串值(高达一个特定的最大限度). 用于:名字,密码,短文标签等
Microsoft Access、MySQL 以及 SQL Server 所使用的数据类型和范围。 SQL Server 数据类型 Character 字符串 数据类型 描述 存储 char(n) 固定长度的字符串。最多 8,000 个字符。 n varchar(n) 可变长度的...
Mysql数据的数据类型说明,详细说明了mysql的各种数据类型,和类型的最大长度,并给出了示例,
本文讲述了Java数据类型与MySql数据类型对照表。分享给大家供大家参考,具体如下: 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) VARCHAR L+N VARCHAR java.lang.String 12 CHAR N CHAR java....
很不错的数据类型分析 DECIMAL 用户自定义精度的浮点型数据 变量;取决于精度与长度 以特别高的精度存储小数数据。 例如:货币数额,科学数据
非常详细的对MySql数据库类型的介绍.
Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,SMALLINT,DECIMAL,NUMBERIC),以及近似数值数据类型(FLOAT,REAL,DOUBLE PRESISION),并在此基础上进行扩展。 扩展后增加了TINYINT,...
Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,SMALLINT,DECIMAL,NUMBERIC),以及近似数值数据类型(FLOAT,REAL,DOUBLE PRESISION),并在此基础上进行扩展。 扩展后增加了TINYINT,MEDIUMINT,BIGINT...
一、数字型 二、字符类型 三、枚举集合 四、时间类型
在同一张表中,您根本不能拥有两个或多个TIMESTAMP列。 这是MySQL的限制。 代替TIMESTAMP,请使用DATETIME。 祝你好运!
大意是数据表中有一个设定长度为64K的字段索引,当表中字段(不知道是字段名字还是什么)不能超过这个长度,65,535所说明的是针对的是整个表的非大字段类型的字段的bytes总合。(网上查到的) 我自己的理解(也不是...
数据类型之所以能限定字段的数据存储长度,是因为在创建表时在内存中严格划定了地址空间,地址空间的长度是多少就能存储多少字节的数据。当然,这是一个很粗犷的概念,更具体的存储方式见下面的描述。 数据类型限定...
代码如下:其中的长度以字节为单位 名称 长度 用法 TINYINT(M) BIT,BOOL,BOOLEAN 1 如果为无符号数,可以存储从0到255的数; 否则可以存储从-128到127的数。 SMALLINT(M...
下面为大家介绍利用SQL查询语句获取Mysql数据库中表的表名,表描述、字段ID、字段名、数据类型、长度、精度、是否可以为null、默认值、是否自增、是否是主键、列描述 一、查询表信息(表名/表描述) SELECT table_...
show full columns from tb查看 MySQL 数据列(column)的字符集。 show charset查看当前安装的 MySQL 所支持的字符集 length计算字节长度 CHAR_LENGTH计算字符串长度 COMPRESS压缩字符串 UNCOMPRESS解压字符串 ...
最近在操作mysql数据库时,在操作text的类型的时候报错说数据类型太小了,此处做一下总结 此处建议使用MEDIUMTEXT替换 MySQL 3种text类型的最大长度如下: TEXT 65,535 bytes ~64kb MEDIUMTEXT 16,777,215 bytes ~...
2、MySQL字段数据类型和长度.sql 3、usefullSQL.sql 4、编码.txt usefullSQL包含有: 字符串:求长度,定位,截取,拼接 日期操作:求差,加减,UTC时间,时区(timezone)转换等 查看表空间大小
在MySQL中,char、varchar和text类型的字段都可以用来存储字符类型的数据,char、varchar都可以指定最大的字符长度,但text不可以。 它们的存储方式和数据的检索方式也都不一样。 数据的检索效率是:char > varchar ...
char (M) M字符,长度是M*字符编码长度,M最大255。 验证如下: mysql> create table t1(name char(256)) default charset=utf8; ERROR 1074 (42000): Column length too big for column 'name' (max = 255); use ...
MySQL 主要的数据类型分为数值类型、字符串(文本)类型、时间日期类型和其他类型几类。 数值类型 数值类型说明: 补充说明 在 int(integer) 系列中,只能存储整型值,且可以在后面用括号指定显示的尺寸(M),...