MySQL基础

  1. AND比OR优先级高,故在同时使用AND和OR进行查找时记得加上小括号,当同时存在多个条件时统一加上括号是个好习惯。

  2. NULL不参与搜索,即使使用LIKE '%'也匹配不到值为NULL的记录。

  3. LIKE和REGEXP的区别:
    LIKE 只在列值中查找,而REGEXP在列值内查找。
    如:

  4. MySQL中的正则表达式默认不区分大小写,若要区分大小写需要使用REGEXP BINARY。

  5. MySQL中使用正则表达式匹配特殊字符使用双反斜杠,而常规正则表达式只需要一个反斜杠来转义,使用两个反斜杠因为MySQL自己解释一个,正则表达式库解释另一个。

  6. 正则表达式字符类:
    [:alnum:] 任意字母和数字,同[a-zA-Z0-9]
    [:alpha:] 任意字符,同[a-zA-Z]
    [:blank:] 空格和制表,同[ ]
    [:cntrl:] ASCII控制字符(ASCII0到31和127)
    [:space:] 包括空格在内的任意空白字符
    [:upper:] 任意大写字母
    [:xdigit:] 任意十六进制数字
    [[:<:]] 词的开头
    [[:>:]] 词的结尾

  7. 不连接数据库测试正则表达式,匹配成功返回1,未匹配到返回0:

SELECT 'hello' REGEXP 'll';

则以上表达式将返回1

原文地址:https://www.cnblogs.com/dspace/p/6193376.html