# mysql 使用细节
- MySQL的WHERE子句的字符串比较是不区分大小写的
你可以使用 BINARY关键字来设定WHERE子句的字符串比较是区分大小写的(放置在where后面即可)
- UPDATE替换某些字段中的某个字符
UPDATE table_name SET field1=REPLACE(field1, 'old-string1', 'new-string1'),field2=REPLACE(field2, 'old-string2', 'new-string2') [WHERE Clause]
- like 匹配/模糊匹配,会与 % 和 _ 结合使用。
| 类型 | 说明 |
| -------- | -------- |
| '%a' | 以a结尾的数据 |
| 'a%' | 以a开头的数据 |
| '%a%' | 含有a的数据 |
| _a_ | 三位且中间字母是a的 |
| _a | 两位且结尾字母是a的 |
| a_ | 两位且开头字母是a的 |
- UNION / UNION ALL
UNION语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据)
UNION ALL语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据)
- MySQL gbk(汉字编码字符集)/utf8(万国码)
如果字符集采用的是 gbk(汉字编码字符集),直接在查询语句后边添加 ORDER BY:
SELECT * FROM runoob_tbl ORDER BY runoob_title;
如果字符集采用的是 utf8,需要先对字段进行转码然后排序:
SELECT * FROM 表名 ORDER BY CONVERT(字段名 using gbk)。
- 使用 WITH ROLLUP
WITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)。
- coalesce
我们可以使用 coalesce 来设置一个可以取代 NUll 的名称,coalesce 语法:select coalesce(a,b,c);
参数说明:如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。
- MySQL NULL 值处理
IS NULL: 当列的值是 NULL,此运算符返回 true。
IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。
- SalesSummary 临时表
###### tags: `mysql`