MySQL数据类型及范围用法一览表

原创 2015年07月09日 18:05:27

一、MySQL的数据类型

主要包括以下五大类:

整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT

浮点数类型:FLOAT、DOUBLE、DECIMAL

字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB

日期类型:Date、DateTime、TimeStamp、Time、Year

其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection等

二、MYSQL数据类型的长度和范围

各数据类型及字节长度一览表:

数据类型 字节长度 范围或用法
Bit 1 无符号[0,255],有符号[-128,127],天缘博客备注:BIT和BOOL布尔型都占用1字节
TinyInt 1 整数[0,255]
SmallInt 2 无符号[0,65535],有符号[-32768,32767]
MediumInt 3 无符号[0,2^24-1],有符号[-2^23,2^23-1]]
Int 4 无符号[0,2^32-1],有符号[-2^31,2^31-1]
BigInt 8 无符号[0,2^64-1],有符号[-2^63 ,2^63 -1]
Float(M,D) 4 单精度浮点数。天缘博客提醒这里的D是精度,如果D<=24则为默认的FLOAT,如果D>24则会自动被转换为DOUBLE型。
Double(M,D) 8  双精度浮点。
Decimal(M,D) M+1或M+2 未打包的浮点数,用法类似于FLOAT和DOUBLE,天缘博客提醒您如果在ASP中使用到Decimal数据类型,直接从数据库读出来的Decimal可能需要先转换成Float或Double类型后再进行运算。
Date 3 以YYYY-MM-DD的格式显示,比如:2009-07-19
Date Time 8 以YYYY-MM-DD HH:MM:SS的格式显示,比如:2009-07-19 11:22:30
TimeStamp 4 以YYYY-MM-DD的格式显示,比如:2009-07-19
Time 3 以HH:MM:SS的格式显示。比如:11:22:30
Year 1 以YYYY的格式显示。比如:2009
Char(M) M
定长字符串。
VarChar(M) M 变长字符串,要求M<=255
Binary(M) M 类似Char的二进制存储,特点是插入定长不足补0
VarBinary(M) M 类似VarChar的变长二进制存储,特点是定长不补0
Tiny Text Max:255 大小写不敏感
Text Max:64K 大小写不敏感
Medium Text Max:16M 大小写不敏感
Long Text Max:4G 大小写不敏感
TinyBlob Max:255 大小写敏感
Blob Max:64K 大小写敏感
MediumBlob Max:16M 大小写敏感
LongBlob Max:4G 大小写敏感
Enum 1或2 最大可达65535个不同的枚举值
Set 可达8 最大可达64个不同的值
Geometry    
Point    
LineString    
Polygon    
MultiPoint    
MultiLineString    
MultiPolygon    
GeometryCollection    

三、使用建议

1、在指定数据类型的时候一般是采用从小原则,比如能用TINY INT的最好就不用INT,能用FLOAT类型的就不用DOUBLE类型,这样会对MYSQL在运行效率上提高很大,尤其是大数据量测试条件下。

2、不需要把数据表设计的太过复杂,功能模块上区分或许对于后期的维护更为方便,慎重出现大杂烩数据表

3、数据表和字段的起名字也是一门学问

4、设计数据表结构之前请先想象一下是你的房间,或许结果会更加合理、高效

5、数据库的最后设计结果一定是效率和可扩展性的折中,偏向任何一方都是欠妥的


转载地址:http://www.metsky.com/archives/84.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

MySQL数据类型及范围用法一览表

本文转载至:http://www.metsky.com/archives/84.html 一、MySQL的数据类型 主要包括以下五大类: 整数类型:BIT、BOOL、TINY INT、SMA...
  • ccrzzu
  • ccrzzu
  • 2016年01月13日 20:11
  • 382

MySQL数据类型及范围用法一览表

http://www.metsky.com/archives/84.html 一、MySQL的数据类型 主要包括以下五大类: 整数类型:BIT、BOOL、TINY INT、S...
  • caolaosanahnu
  • caolaosanahnu
  • 2014年06月13日 09:39
  • 941

MySQL 各种类型int表示范围和size

MySQL 各种类型int表示范围和size 1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方 11111111 在计算机中也就是 -128到127...
  • glory1234work2115
  • glory1234work2115
  • 2016年07月01日 22:48
  • 2275

各种数据类型表示范围

以前整理的找不到了,这次好好整理一下吧 一、基本类型的大小及范围的总结(以下所讲都是默认在32位操作系统下): 字节:byte;位:bit。 1.短整型short:所占内存大小:2byte=16bi...
  • u014665013
  • u014665013
  • 2015年01月19日 18:52
  • 1818

mysql中tinyint、smallint、int和bigint类型的用法区别

mysql中tinyint、smallint、int和bigint类型的用法区别: 在MySQL的数据类型中,Tinyint的取值范围是:带符号的范围是-128到127。无符号的范围是0到255(...
  • tianyazaiheruan
  • tianyazaiheruan
  • 2013年09月05日 17:52
  • 2387

Mysql和Java数据类型对比一览表

Mysql和Java数据类型对比一览表2017.1.9 MySQL Type Name Return value of GetColumnClassNameReturned as Java Class...
  • Bleachswh
  • Bleachswh
  • 2017年01月09日 20:21
  • 259

JAVA基本数据类型转换的主要内容和注意事项

JAVA基本数据类型转换JAVA不像PHP,JS,Python,是一门强类型语言,强类型语言就必定会涉及不少的强制类型转换,作为基础中的基础,有必要先熟悉JAVA的基本数据类型转换 本博文主要分为以...
  • qq_22497299
  • qq_22497299
  • 2016年09月14日 00:24
  • 332

C语言几种常见数据类型的范围

转自:http://blog.csdn.NET/mafuli007/article/details/7325510 速查表: char -128 ~ +127 (1 Byte) sh...
  • Singular__point
  • Singular__point
  • 2016年11月10日 18:55
  • 808

C语言中数据类型的表示范围

问题:sizeof(int) = 2,int的表示范围为什么是-2^15~2^15-1? 答:对于有符号数,最高位为符号位。二进制原码最大值为0111111111111111=2^15-...
  • sszgg2006
  • sszgg2006
  • 2014年10月22日 20:40
  • 1951

Java 基本数据类型取值范围讲解

转自http://apps.hi.baidu.com/share/detail/37526799 java中的类型概念名的说法不一、让我很是迷茫,我个人的理解整理,如有错误还请高人指点,! ...
  • netoT
  • netoT
  • 2016年09月08日 11:47
  • 2212
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL数据类型及范围用法一览表
举报原因:
原因补充:

(最多只允许输入30个字)