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


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字节存;

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值