前言
在这个大数据时代,我们都离不开对数据的增删改查,增加、删除、修改这些看似都是一步完成的事情,但是对于查询来说,好的查询SQL可以大大的减少系统内存运行时间,提高系统的反应速度。这里简单的介绍一下查询中的模糊查询。
内容
模糊查询语句格式为:
<span style="font-family:KaiTi_GB2312;font-size:18px;">--模糊查询格式如下: select 字段 FROM 表 WHERE 某字段 LIKE 条件;</span>
1. %:任意零个或多个字符
匹配任意类型和长度字符,表示中文的格式为(%%)
- 单个字符限制:
For Example:
<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '%周%';</span>
将把T_USER表中的字段名为USERNAME中含有“周”的记录全部搜索出来。“周武王,童第周,周丽同”等
- 多个字符无序查询:
For Example:
<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '%周%' ADN USERNAME LIST '%王%';</span>
将把T_USER表中的字段名为USERNAME中既含有“周”又含有“王”的记录全部搜索出来。“周王爷,王周大人”等。这里注意:这样写和关键字的前后位置无关。
- 多个字符有序查询
For Example:
<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '%周%王%';</span>
将把T_USER表中的字段名为USERNAME中既含有“周”又含有“王”并且“周”在“王”的前面的记录全部搜索出。“周王爷”,此时“王周大人”就搜索不出来了。
2. _:任意单个字符
- 匹配单个任意字符,常用来限制表达式的字符长度。
For Example:
<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '_周_';</span>
此时限制查询记录为:三个字,中间为“周”的记录全部搜索出来。
<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '周__';</span>
此时显示查询记录为:三个字,开头为“周”的记录全部搜索出来。
3. [ ]:表示括号内任意字符
- 匹配括号中任意字符,通常指一个字符或者字符串的范围。
For Example:
<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '[周王李]一';</span>
此时查询记录为:“周一、王一、李一”(不是周王李一)
- 特殊情况处理
如果“[ ]”内显示为连续的数字或者字母,可以略写范围即可。
For Example:
<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '周[1-3]';</span>
此时查询记录为:“周1、周2、周3”
4. [^ ]:不存在括号内任意字符
- 匹配除括号内的字符外的对象(匹配对象为指定字符以外的任一字符)
<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '周[^1-3]';</span>
此时查询记录为:“周4、周5、周6等除(周1、周2、周3)以外的对象。
小结
1、适合需求,适合程序的代码才是好代码。
2、技巧查询很好的符合了需求,提高了查询效率。
感谢您的宝贵时间~~~