Mariadb----字符类型 (五)

ぃ、小莉子 提交于 2020-02-29 01:04:41

MYSQL数据类型----字符串类型

可以使用命令查看常见编码所占字节数:

MariaDB [(none)]> SHOW CHARACTER SET;

 

查看默认字符: SHOW VARIABLES LIKE 'character%';,发现数据库编码均已改成utf8

1. utf8编码一个字符占3个字节;

2. gbk编码一个字符占2个字节;

3. latin1编码一个字符占1个字节。

更改某个字段的字符集: VARCHAR(20) character set utf8;

更改数据库的字符集: CREATE DATABASE 数据库名 character set utf8;;

 

char(M) 与 varchar(M) 的理解可以参考int(M). varchar(n) 表示n个字符,无论汉字和英文,MySql都能存入 n 个字符,仅实际字节长度有所区别。

 

varchar

(1)保存可变长字符串。

    理解:比固定长度占用更少的存储空间,因为它只占用自己需要的空间。例外情况:使用ROW_FORMAT=FIXED创建的MyISAM表,它为每行使用固定长度的空间,可能会造成浪费。

(2)存储长度信息。

    如果定义的列小于或等于255,则使用1个字节存储长度值,假设使用latin1字符集,如varchar(10)将占用11个字节的存储空间。反过来,varchar(1000),则占用1002个字节的存储空间。

(3)节约空间,对性能有帮助。

(4)5.0版本以上,无论是取值还是保存,MySQL都会保留字符串末尾的空格。

(5)对于变长字段如varchar,mysql会用额外的字节来存储字符长度,255个字符以内用1个字节存,多于255个字符用2字节存;

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!