MySQL 零碎知识 - MySQL必知必会

重读《MySQL必知必会》

  • DISTINCT 作用于其后面的所有列

  • DESRIBE 相当于 SHOW COLUMNS FROM

  • SELECT xxx FROM table WHERE a = 'Hello' 能匹配出 Hellohello。因为 MySQL在执行匹配时默认不区分大小写

  • 单引号用来限定字符串,数值列则不需要

  • 通配符 % 匹配0到多个字符,_ 匹配一个字符

  • REGEXP 后接正则表达式匹配

  • 和其他SQL不同,MySQL使用 concat 函数拼接字段,而不是使用 + 或者 ||

  • + - * / 是算术运算

  • HAVING 完全可替代 WHERE,不过,一般把 HAVING 用在分组的数据上

  • UNION 操作,我从来没在实际生产上用过,其实就是在多个表里组织处数据结构相同 的表,然后通过 UNION 组成一张虚拟表,不过估计是性能杀手来着。UNION 默认 去除了重复的行,使用 UNION ALL 可以取消这种行为。

  • 全文索引,使用关键字 FULLTEXTMySQL5.6已经支持

  • 使用 RENAME TABLE xxx TO yyy 来重命名


更多文章
  • SQLite3 存储以及ACID原理
  • Redis源码阅读:pub/sub实现
  • Redis源码阅读:zset实现
  • Redis源码阅读:bitmap 位图的运算
  • Redis源码阅读:set是怎么做交并集运算的?
  • Redis源码阅读:list实现(ziplist, quicklist)
  • Redis源码阅读:RDB是怎么实现的
  • Redis源码阅读:AOF重写
  • Redis源码阅读:AOF持久化
  • Redis源码阅读:key是怎么过期的
  • Redis源码阅读:字典是怎么实现的
  • Redis源码阅读:执行命令
  • Redis源码阅读:启动过程
  • WAL(Write-ahead logging)的套路
  • 搞定CORS问题