MySQL常用数据类型

1、整数

分为:tinyintsmallintmediumintintbigint等5种

signen: 有符整数,可存储正数和负数,如 TINYINT SIGNED 表示的范围是 -127 ~ 128

unsigned: 无符整数,只能存储正数,但是表示的值是有符整数的两倍, 如 TINYINT UNSIGNED 表示的范围是 0 ~ 255

有符整数和无符整数只有表示的值大小上的区别,存储空间和效率上都是一样的

 

tinyint   占 8 bit 存储空间 1个字节 一个很小的整数。有符号的范围是-128到127,无符号的范围是0到255。

smallint  占16 bit 存储空间 2个字节  有符号的范围是-32768到32767,无符号的范围是0到65535  从-32000到+32000范围    存储相对比较小的整数。  比如: 年纪,数量

mediumint   占24 bit 存储空间  3个字节  一个中等大小整数。有符号的范围是-8388608到8388607,无符号的范围是0到16777215。

int   占32 bit 存储空间 4个字节  从-2000000000到+2000000000范围   存储中等整数  例如: 距离

bigint  占64bit 存储空间 8个字节  有符号的范围是-9223372036854775808到9223372036854775807   存 储超大的整数  例如: 科学/数学数据

 

2、实数

decimal : 用户自定义精度的浮点型数据变量;取决于精度与长度,以特别高的精度存储小数数据。可表示比 BIGINT 还大的正数,保存时可以指定整数长度和小数位数,如DECIMAL(18, 9)表示总长18,小数点后9,一共占用9 Byte,小数点前4 Byte,小数点1 Byte, 小数点后4 Byte, 一般用于存储精确数据,如银行账目

float 单精度浮点型数据  占32 bit 存储空间 4个字节  存储小数数据  例如:测量,温度

double 双精度浮点型数据 占64bit 存储空间 8个字节  需要双精度存储的小数数据

 

3.字符串

char  0-255字节  固定长度的字符串长度(最高可达255字符) 存储通常包含预定义字符串的变量例如: 定期航线,国家或邮编

varchar  0-255字节   变长字符串,具有最大限制的可变长度的字符串  例如:名字,密码,短文标签

text  没有最大长度限制的可变长度的字符串(0-65 535字节)  存储大型文本数据  例如: 新闻故事,产品描述

blob  二进制字符串  实际字符串长度  存储二进制数据  例如:图片,附件,二进制文档

tinyblob 0-255字节 不超过 255 个字符的二进制字符串

tinytext   0-255字节  短文本字符串


4、日期

date 以yyyy-mm-dd格式的日期  占3个字节  存储日期  例如:生日,产品满期

datetime : 将日期保存为yyyy-mm-dd hh:mm:ss格式,范围从1001 ~ 9999年,占用空间 8 Byte 存储包含日期和时间的数据 例如:提醒的人,事件

timestamp : 将日期保存为Unix时间戳,范围从1970 ~ 2038年, 占用空间 4Byte,并且和时区相关,它的特性是当插入没有定义TIMESTAMP的列时,MySQL会自动将时间戳保存为当前时间,所以一般可用于记录最后登录时间等

 

5.位集数据类型

BIT: 最大 64 bit,一般用于保存一个true/false值,如BIT(1),占用 1 bit,远小于使用字符表示

SET: 用于保存多个true/false值,可用于权限管理,效果见下图

 

6.枚举

ENUM: 类似于SET,但是只能插入1个值,一般可用来表示性别等唯一且范围固定的属性(男,女..)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值