character set和collation的是什么? character set即字符集 我们常看到的UTF-8.GB2312.GB18030都是相互独立的character set.即对Unicode的一套编码. 那么如何理解Unicode与UTF-8.GB2312的区别呢? 打个比方,你眼前有一个苹果,在英文里称之为apple,而在中文里称之为苹果. 苹果这个实体的概念就是Unicode,而UTF-8,GB2312可以认为就是不同语言对苹果的不同称谓,本质上都是在描述苹果这个物. col…
A character set is a set of symbols and encodings. A collation is a set of rules for comparing characters in a character set. Character Set: 一套字符及其编码,即字符集:(文中很多地方也用 charset 一词) Collation:在字符集内用于比较或排序字符的一套规则,即校验规则. 操作系统环境为MacOS Catalina, MySQL版本为: 8.0…
Character set顾名思义,就是字符.以及字符对应的编码的集合.例如简体中文字符集gb2312就包括简体中文中的所有规定汉字,以及每个汉字对应的代码. Collation,是指比较字符的规则的集合.有了比较规则,才能够将一组数据排序--例如按照英文字母顺序排序.汉字按照拼音顺序排序等等.显然,针对同样一组字符集可以有不同的排序标准.规则.例如汉字可以按照拼音排序,也可以按照笔画多少排序.尤其是Unicode的字符集,由于其可以包含不同种类的语言,所以可以按照各种语言的排序方法排序.此外,…
在MySQL中,NULL字段的处理,需要注意,当在处理查询条件中有NULL,很有可能你得到的值不是想要的,因为,在MySQL中,判断NULL值相等(=)或者不等(!=)都会返回false.主要出现在常见的SELECT以及WHERE字句中. 为了处理这种特殊的情况,MySQL提供了如下的关键字进行特殊处理: IS NULL: 当列的值是NULL,此运算符返回true. IS NOT NULL: 当列的值不为NULL, 运算符返回true. <=>: 比较操作符(不同于=运算符),当比较的的两个值…
SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES WHERE table_schema = '数据库' GROUP BY table_schema; 这还是头一次接触information_schema这个数据库, information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式.什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等.有些时候用于表…
这个可能是容易被忽略的问题,首选我们要清楚:MySQL中,AND的执行优先级高于OR.也就是说,在没有小括号()的限制下,总是优先执行AND语句,再执行OR语句.比如: select * from table where 条件1 AND 条件2 OR 条件3 等价于 select * from table where ( 条件1 AND 条件2 ) OR 条件3 select * from table where 条件1 AND 条件2 OR 条件3 AND 条件4 等价于 selec…
在MapReducer插入mysql 遇到了 Incorrect string value: '\xF0\x9F\x98\xAD",...' for column 'commentContent' at row 1 的问题 因为数据中存在表情符号 处理办法: 先修改 mysql 字段编码 在修改数据库编码 : ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4; 原因: 可以简单的理解 utf8mb4 是目前最大的一个字符编码…