平凡隐约查询语句以下:
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有点雷同,可是这个不克不及跟踪某个会话、用户、客户端。它只能对全部数据库停止跟踪。