第2篇:MySQL中的数据类型介绍

第2篇:MySQL中的数据类型介绍

主要内容

1、介绍MySQL中常用的数据类型
2、MySQL类型和Java类型对应关系
3、数据类型选择的一些建议

MySQL的数据类型

主要包括以下五⼤类
• 整数类型:bit、bool、tinyint、smallint、mediumint、int、bigint
• 浮点数类型:float、double、decimal
• 字符串类型:char、varchar、tinyblob、blob、mediumblob、longblob、tinytext、text、mediumtext、longtext
• ⽇期类型:Date、DateTime、TimeStamp、Time、Year
• 其他数据类型:暂不介绍,⽤的⽐较少。
类型大小用途
tinyint1 byte小整数值
smallint2 bytes大整数值
mediumint3 bytes大整数值
INT 或者 integer4 bytes大整数值
BIGINT8 bytes极大整数值
FLOAT4 bytes单精度,浮点数值
DOUBLE8 bytes双精度,浮点数值
DECIMALDECIMAL(M,D)如果M>D ,为M+2否则D+2小数值

时间类型:

表示时间值的时间类型有:DATETIME ,DATE ,TIMESTAMP,TIME,YEAR

每个时间类型有一个有效值范围和一个“零”值

类型大小范围格式用途
DATE31000-01-01/9999-12-31yyyy-MM-dd日期值
TIME3-838:59:59/838:59:59hh:mm:ss时间值
YEAR11901/2155yyyy年份值
DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59yyyy-MM-dd HH:mm:ss混合日期和时间值
TIMESTAMP41970-01-01 00:00:00/2038 结束时间是2147483647秒,北京时间的2038-01-18 11:14:07YYYYMMDDHHmmSS混合日期和时间值,时间戳

字符串类型:

类型大小用途
CHAR0-255 bytes固定长度字符串
VARCHAR0-65535 bytes可变长度字符串
tinyblob0-255 bytes不超过255个字符的二进制字符串
tinytext0-255 bytes短文本字符串
blob0-65 535 bytes二进制形式的长文本数据
text0-65-535 bytes长文本数据
mediumblob0-16 777 215bytes二进制形式的中等长度文本数据
mediumtext0- 16 777 215 bytes中等长度的文本数据
longblob0-4294 967 295二进制形式的极大文本数据
longtext0-4294 967 295极大文本数据

注意:char(n)和varchar(n) 括号中的n表示的字符的个数,并不代表字节数,比如char(20) 就可以保存20字符,

char和varchar类型类似,但是他们保存和检索的方式不同,在存储和检索的过程中不进行大小写转换

数据类型的一些建议

• 选⼩不选⼤:⼀般情况下选择可以正确存储数据的最⼩数据类型,越⼩的数据类型通常更快,占⽤磁盘,内存和CPU缓存更⼩。
• 简单就好:简单的数据类型的操作通常需要更少的CPU周期,例如:整型⽐字符操作代价要⼩得多,因为字符集和校对规则(排序规则)使字符⽐整型⽐较更加复杂。
• 尽量避免NULL:尽量制定列为NOT NULL,除⾮真的需要NULL类型的值,有NULL的列值会使得索引、索引统计和值⽐较更加复杂。
• 浮点类型的建议统⼀选择decimal
• 记录时间的建议使⽤int或者bigint类型,将时间转换为时间戳格式,如将时间转换为秒、毫秒,进⾏存储,⽅便⾛索引
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值