一. 解释
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。
创建表时:ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
最新推荐文章于 2025-02-27 06:51:03 发布