varchar与char有什么区别?

本文详细介绍了MySQL中数据类型的区别,包括varchar与char的存储机制及其优缺点,decimal如何确保数值精确存储,以及null和空值的区别。此外,还涵盖了整数、浮点数、日期时间以及字符串类型的基本概念和使用注意事项。
摘要由CSDN通过智能技术生成

重点

varchar与char有什么区别?

char是一种固定长度的类型,varchar则是一种可变长度的类型

  • char(M)类型的数据列里,每个值都占用M个字符的存储空间,即使字符个数没有M个,MySQL也会在它的右边用空格字符补足.(其中M的取值范围是0~255。如果省略掉M的值,那它的默认值就是1)

  • varchar(M)类型的数据列里,最多存放M个字符,不足M个字符时,每个值只占用刚好够用的字节数L再加上用来记录其长度的字节(1或2个子节),即总长度为L+1|2字节(1个字节只能表示0~255,超过255则需2个字节表示长度).

所以varchar更省空间,不过因为char的长度固定,char的存取速度还是要比varchar要快得多,方便程序的存储与查找
总结:
char:以空间换时间
varchar:以时间换空间。

关于varchar的经典面试题:MySQL中varchar最大长度是多少?

varchar存储的最大长度固定是65532(65535-1-2)字节
varchar(M) 中的M表示的最大字符个数,由最大行和使用的字符集共同确定。

举例理解:

create table t4(c int, c2 char(30),
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值