MySQL数据类型-字符串类型

数据库 waitig 457℃ 百度已收录 0评论

摘要:

本文主要介绍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. 建议

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


本文由【waitig】发表在等英博客
本文固定链接:MySQL数据类型-字符串类型
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)