通俗模糊查询语句以下:
SELECT 字段 FROM 表 WHERE 某字段 Like 条件
个中关于条件,SQL供给了四种婚配形式:
1,% :透露显示随意0个或多个字符。可婚配随意范例和长度的字符,有些状况下如果中文,请使用两个百分号(%%)透露显示。
比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'
将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记载全找出来。
另外,如果须要找出u_name中既有“三”又有“猫”的记载,请使用and条件
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'
若使用 SELECT * FROM [user] WHERE u_name LIKE '%三%猫%'
固然能搜刮出“三脚猫”,
高端网页设计,但不克不及搜刮出契合条件的“张猫三”。
2,_ : 透露显示随意单个字符。婚配单个随意字符,它常常使用来限定表达式的字符长度语句:
比如 SELECT * FROM [user] WHERE u_name LIKE '_三_'
只找出“唐三藏”如许u_name为三个字且中心一个字是“三”的;
再比如 SELECT * FROM [user] WHERE u_name LIKE '三__';
只找出“三脚猫”如许name为三个字且第一个字是“三”的;
3,[ ] :透露显示括号内所列字符中的一个(近似正则表达式)。指定一个字符、字符串或范围,恳求所婚配对象为它们中的任一个。
比如 SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'
将找出“张三”、“李三”、“王三”(而不是“张李王三”);
如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'
将找出“老1”、“老2”、……、“老9”;
4,[^ ] :透露显示不在括号所列以内的单个字符。其取值和 [] 不异,但它恳求所婚配对象为指定字符以外的任一个字符。
比如 SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三'
将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等;
SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';
将清扫“老1”到“老4”,探求“老5”、“老6”、……
总结:MySQL的查询记载了全部MySQL数据库恳求的信息。不管这些恳求是否是得到了准确的实行。默许文件名为hostname.log。默许状况下MySQL查询是封闭的。临盆情况,如果开启MySQL查询,对机能照样有蛮大的影响的。另外良多时分,MySQL慢查询根基能够定位那些出现机能题目的SQL,以是MySQL查询使用的场景其实不多,有点鸡肋的感觉,它跟SQL Server中的profiler有点近似,可是这个不克不及跟踪某个会话、用户、客户端。它只能对全部数据库停止跟踪。