MySQL数据类型-字符串类型

摘要:

本文主要介绍MySQL数据类型-字符串类型


1. char字符串系列

存储用户的姓名,家庭住址,爱好,发布的文章等。

Char字符串系列字节描述
char(M)MM为0~255之间的整数
varchar(M)MM为0~65535之间的整数
注:汉字占两个字节
  • char会占用定长字节的空间来进行存储,检索时会自动删除尾部空格
  • varchar会灵活地根据存储的值的长度来分配存储空间,检索时不会删除尾部空格。
create table c_v(
    v varchar(4),
    c char(4)
);

insert into c_v values('ab  ', 'ab  ')

select length(v), length(c) from c_v;
/* 结果会显示v和c字段长度的不同,char会自动忽略尾部的空格。*/

select concat(v, 'xff'), concat(c, 'xff') from test10;
/* concat是连接函数,从结果可以看到c后面没有空格。*/

2. TEXT系列字符串类型

Text系列字符串类型字节描述
TINYTEXT0~255值的长度+2个字节
TEXT0~65525值的长度+2个字节
MEIDUMTEXT0~16772150值的长度+3个字节
LONGTEXT0~4294967285值的长度+4个字节

3. BINARY系列字符串类型

BINARY系列字符串类型字节描述
BINARY(M)M允许长度为0~M
VARBINARY(M)M允许长度为0~M

4. BLOB系列字符串类型

BLOB系列字符串类型字节
TINYBLOB0~255
BLOB0~2^16
MEDIUMBLOB0~2^24
LONGBLOB0~2^32

5. 枚举类型和集合类型

枚举类型ENUM单选

集合类型SET多选

示例:

mysql> create table student3(
    -> name varchar(100),
    -> sex enum('male', 'female'),
    -> hobby set('music', 'book', 'game', 'dance')
    -> );

insert into student3 values('xff', 'female', 'book,game');

6. 建议

为了优化存储,任何情况下均应该使用最精确的类型

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值