您好,欢迎访问一九零五行业门户网

SELECT查询的应用_PHP教程

比如我们要从很多文章的标题中找到所有包含mysql这个字眼的文章。这就应该在 where 子句中用到 like,就是模糊查询。
首先交待一下sql语言中的统配符,统配符就是用一个字符统一匹配任何字符,sql中,一个字符_匹配单个的任何字符;一个字符%匹配任何零个到多个字符。举例来说,a_ 可以匹配诸如 aa、ab、a2、a$……等等;而 a% 可以匹配 abcd、a、ag$bng0、an apple is just an apple.……等等。
怎么用呢?还是举个实际的例子:工厂仓库里的东东,很多、很杂,要分成几大类来管理:比如a类代表机配件,b类代表工具,c类代表包装材料……等等,每一类下面的东东再分别编号,如a0001、a1065、b1014等。在管理这个数据库的时候,编号作为一个字段,这个字段不仅作为该物品的代号,同时也表明了它的类别。当你要查询所有的工具时,可以这样:
select * from goods where code like 'b%' order by code'
这样就是查询code这个字段(就是编号)为字母b打头的所有记录。注意这里'b%'表示字母b是出现在字段的开头,与下一个例子不同:查找文章标题中含有mysql这个字眼的所有文章,因为要查找的目标mysql不一定出现在文章标题的什么位置上,所以应该:
select * from articles where title like '%mysql%'
'%mysql%'的意思是mysql这个字眼出现在标题中,它的前面可能有文字,后面也可能有文字。
既然查mysql可以,查别的字眼未尝不可以。可以让浏览者自己输入他要搜索的关键字,就是这样:
关键字:
...
$query=select * from article where title like '%$key%';
$result=$mysql_query($query,$db);
...
?>
注意在使用模糊查询时,有一种情况应该小心,就是当一个字段是类似 '2,13,25,33' 这样的值时,若要查询它其中是否包含'2'这一项,就不能简单的用 '%2%' 来查询。因为如果这样,一个这样的值也会被查询到:'1,6,21,27'。这并不是我们所希望的。所以在处理这样的问题时,应该将该字段存为 '.2.13.25.33.' 的形式。这样当需要查询包含'2'这一项的记录,就可以放心的用 '%.2.%' 了。
时间仓促,草草成稿;如有不确,务请指正。
http://www.bkjia.com/phpjc/631172.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/631172.htmltecharticle比如我们要从很多文章的标题中找到所有包含mysql这个字眼的文章。这就应该在 where 子句中用到 like,就是模糊查询。 首先交待一下sql语...
其它类似信息

推荐信息