mysql 小类型_mysql数据类型

1.mysql支持多种数据类型,大致可以分为四类:数值(int等等)、字符串类型(varchar、char)、日期/时间(date、time等等)和其他类型。

(1)二进制类型:

bit[ (m) ]

二进制位(101001),m表示二进制位的长度(1-64),默认m=1,则默认表示1个bit位,一个0或1。

(2)

整数类型(一般用来存储年龄、等级、id、各种号码等):

tinyint[ (m) ] [unsigned] [zerofill]

tinyint最小的整数类型

有符号存储数值范围为:-128 ~ 127

无符号存储数值范围为:255

特别的:MySQL中无布尔值,使用tinyint(1)构造

int[ (m) ] [unsigned] [zerofill]

整数

有符号存储数值范围为:-2147483648 ~ 2147483647

无符号存储数值范围为:4294967295

bigint[ (m) ] [unsigned] [zerofill]

大整数

有符号存储数值范围为:-9223372036854775808 ~ 9223372036854775807

无符号存储数值范围为:1867446744073709551615

(3)小数型:

decimal [(m[, d])] [unsigned] [zerofill]

准确的小数值,m是数字总个数(负号不算),d是小数点后个数。m最大值为65,d最大值为30。

特别的:对于精确数值计算时需要用此类型

decimal能够存储精确值的原因在于其内部按照字符串存储

FLOAT[(m[, d])] [unsigned] [zerofill]

单精度浮点数(非准确小数值),m是数字总个数,d是小数点后总个数

特表的:数值越大,越不准确

DOUBLE[(m[, d])] [unsigned] [zerofill]

双精度浮点数(非准确性小数值),m是数字总个数,d是小数点后总个数

特表的:数值越大,越不准确

(4)字符型

char(m)

char数据类型用于表示固定长度的字符串,可以包含最多达255个字符。其中m代表字符串的长度。

PS:即使数据小于m长度,也会占用m长度,但是在查询时,查出的结果会自动删除尾部的空格。

特定:定长、简单粗暴、浪费空间、存储速度快

varchar(m)

varchar数据类型用于变长的字符串,可以包含最多达65535个字符(理论上可以,但是实际上在超出21845长度后,mysql会自动帮您转换数据类型为文本类型)。

其中m代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。

PS:varchar类型存储数据的真实内容,例如:如果'ab ',尾部的空格也会被存起来

强调:varchar类型会在真实数据前加1-2Byte的前缀,该前缀用来表示真实数据的byte字节数(1-2Byte最大表示65535个数字,正好符合mysql对row的最大字节限制,即已经足够用)

特点:变长、精准、节省空间、存储速度慢

sql优化:创建表时,定长的类型往前方,变长的往后放

PS:虽然varchar使用起来比较灵活,但是从整个系统的性能角度来说,char数据类型的处理速度更快,有时甚至可以超出varchar处理速度的百分之50。

因此,用户在设计数据库时应当综合考虑各方面因素,以求达到最佳的平衡。

text:

text数据类型用于保存变长的大字符串,可以最多到65535字符

(5)枚举类型(了解)与集合类型(了解)

枚举类型,存储的数据必须是规定的几个值

e5b828712e6fc987b17178799e6939b3.png

(6)日期时间

19a539c2b77843a3599eaf9e0023aa41.png

更详细的可参考菜鸟教程或mysql官网

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值