定长与变长


  • 定长
    • 直接开辟指定的存储范围的字节空间
  • 变长
    • 根据实际存储的数据大小,开辟字节空间

字符型


编码 单个字符(数字,字母,符号,汉字),占用字节数
UTF8 3
GBK 2
类型名称 存储范围(字符编码只会影响数据用什么多少个字节存储)
char 0-255个字符
varchar 理论上是65535字节,超过255字个符,建议使用text
text 不可以指定存诸长度
  • char与varchar的区别
    • char是定长,varchar是变长
    • char在存储数据长度小于指定存储范围的情况下,会在数据右边填充空格,读取数据时会自动删除,那就是说存char的情况下,字符串末尾空格会被删除掉
    • VARCHAR比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率’

整数型(没有小数点)


整数类型 无符号 有符号 列宽 字节
int 0~42亿 -21亿~21亿 10 4
mediumint 0~1600万 -800万~800万 8 or 7 3
tinyint 0~255 -128~127 3 1

浮点型和定点型


浮点类型 整数有效位 小数点有效位 字节
decimal 35 30 不固定,根据指定范围而变化

results matching ""

    No results matching ""