MySQL的数据类型
来源:互联网 发布:mac默认网关 编辑:程序博客网 时间:2024/05/22 06:07
一、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】MySQL的数据类型
- MYSQL的数据类型
- MySql的数据类型
- mysql的数据类型
- MySQL的一些数据类型
- 数据类型的问题(mysql)
- MySQL支持的数据类型
- MySQL的数据类型
- MySQL的数据类型
- mysql的数据类型 (转)
- mysql 的基本数据类型
- Mysql的基本数据类型
- mysql的数据类型
- mysql的BLOB数据类型
- 常用的MySQL数据类型
- MySQL 的数值数据类型
- mysql常见的数据类型
- 常用的MySQL数据类型
- Linux进程调度
- Strcpy 和 memcpy 实现
- Eclipse或MyEclipse中如何恢复已删除文件
- .net写的字符计数器
- android测试类:ActivityInstrumentationTestCase2<T extends Activity>
- MySQL的数据类型
- Android应用程序键盘(Keyboard)消息处理机制分析
- linux自启动jboss
- Java多线程
- struts2-convention-plugin Annotation(零配置)
- ListBox选用不同的模板
- hdu 4044 GeoDefense 树形dp+分组背包
- js bind
- 浅谈Java最终胜出的8大技术优势