好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

一、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、数据库的最后设计结果一定是效率和可扩展性的折中,偏向任何一方都是欠妥的

大家还有什么好的意见或建议,欢迎留言补充?

查看更多关于MySQL数据类型及范围用法一览表的详细内容...

  阅读:44次