创建表时:ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

文章介绍了MySQL数据库中InnoDB作为默认存储引擎的特性,如处理大量数据及删除表的方式。同时,讨论了utf8与utf8mb4字符集的区别,utf8mb4用于兼容四字节Unicode,包括emoji等特殊字符。在MySQL5.5.3以后,utf8mb4成为必要选择以支持更广泛的字符编码,而utf8则通常用于节省空间。
摘要由CSDN通过智能技术生成

一. 解释
1、ENGINE=InnoDB
InnoDB:数据库默认的存储引擎,处理大容量数据。
删除表时:InnoDB不会重新建立表,而是一行一行的删除 会在内存中缓冲数据和索引,但是不支持fulltext的索引
2、DEFAULT CHARSET=utf8mb4
数据库默认编码为utf8mb4
这个虽然在my.ini设置过了,但设置的是mysql的的语言编码。而这里创建的时候不设置,就会出现乱码问题,二者的作用域是不一样的,在创建表单的时候,这个charset会作用到这个表上,它代表mysql简历数据库数据表时设定字符集为utf-8mb4。

二、utf8 与 utf8mb4 异同
        MySQL在5.5.3版本之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。其实,utf8mb4是utf8的超集并完全兼容utf8,能够用四个字节存储更多的字符,理论上原来使用utf8,然后将字符集修改为utf8mb4,也会不会对已有的utf8编码读取产生任何问题。但是一般为了节省空间,使用utf8就够了。

       MySQL里实现的utf8最长使用3个字节,但是现在生活中手机常用的表情字符 emoji还有一些不常用的汉字,如 别墅的“墅” ,这些需要四个字节才能编码出来,所以就需要utf8mb4。
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值