字符集utf8mb4:
utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符。
采用utf8mb4编码的好处是:存储与获取数据的时候,不用再考虑表情字符的编码与解码问题。
utf-8编码可能2个字节、3个字节、4个字节的字符,但是MYSQL的utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符。如果直接往采用utf-8编码的数据库中插入表情数据,JAVA程序中将报SQL异常。
排序规则 utf8_general_ci、utf8_general_cs :
utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用。
utf8_general_cs 区分大小写,如果用户名和邮箱用这个就会照成不良后果。
utf8_bin:将字符串中的每一个字符用二进制数据存储,区分大小写。
以上,ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的。
utf8_unicode_ci比较准确,utf8_general_ci速度比较快。通常情况下 utf8_general_ci的准确性就够我们用的了,在我看过很多程序源码后,发现它们大多数也用的是utf8_general_ci,所以新建数据库时一般选用utf8_general_ci就可以了。
默认值:
添加默认值时如果是字符串要加单引号