ホームページ  >  記事  >  バックエンド開発  >  SELECTクエリの応用_PHPチュートリアル

SELECTクエリの応用_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:01:111254ブラウズ

たとえば、多くの記事のタイトルから「MySQL」という単語を含むすべての記事を検索したいとします。これは、あいまいクエリである WHERE 句で「LIKE」を使用する必要があることを意味します。

まず、SQL 言語のワイルドカードについて説明します。SQL では、文字「_」は任意の 1 文字と一致し、文字「%」は任意の文字と一致します。 。たとえば、「A_」は「AA」、「AB」、「A2」、「A$」などに一致し、「A%」は「ABCD」、「A」、「AG$Bng0 ",」に一致します。リンゴはただのリンゴだ」…などなど。

使い方は?実際の例を見てみましょう。工場の倉庫には多くのものがあり、非常に複雑です。たとえば、カテゴリ A は機械付属品、カテゴリ B は工具、カテゴリ C は梱包材を表します。 ...など、カテゴリの下にあるものには、「A0001」、「A1065」、「B1014」などのように個別に番号が付けられます。このデータベースを管理する際、この番号はアイテムのコード名としてだけでなく、そのカテゴリを示すフィールドとしても使用されます。すべてのツールをクエリしたい場合は、次のようにすることができます:
SELECT * FROM Goods WHERE code LIKE 'B%' ORDER BY code'
これは、コード フィールド (つまり、番号) が文字で始まるすべてのレコードをクエリします。 B.ここでの「B%」は、文字 B がフィールドの先頭に表示されることを意味し、次の例とは異なります。記事タイトルに単語「MySQL」を含むすべての記事を検索します。これは、ターゲット「MySQL」が検索されたキーワードは、必ずしも記事タイトルのどの位置に表示されるわけではないため、次のようにする必要があります:
SELECT * FROMarticle WHERE title LIKE '%MySQL%'
'%MySQL%' は、単語「MySQL」がタイトルに表示されることを意味します。前にテキストがある場合もあれば、後ろにテキストがある場合もあります。

「MySQL」で検索できるので、他の単語で検索することも不可能ではありません。次のように、視聴者に検索したいキーワードを入力させることができます:


キーワード:

...
$query="タイトルが '%$key%' から * を選択します。"; .. .
?>
ファジークエリを使用する場合、注意が必要な状況があります。つまり、フィールドに '2,13,25,33' のような値がある場合、 '2' が含まれています。1 つの項目に対して、単純に '%2%' を使用してクエリを実行することはできません。その場合、「1,6,21,27」のような値も照会されるためです。これは私たちが望んでいることではありません。したがって、このような問題に対処する場合、このフィールドは「.2.13.25.33」の形式で保存する必要があります。このようにして、項目 '2' を含むレコードをクエリする必要がある場合、安全に '%.2.%' を使用できます。


急いでいたので急いで書きました、不正確な点があれば修正してください。



http://www.bkjia.com/PHPjc/631172.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631172.html技術記事たとえば、多くの記事のタイトルから「MySQL」という単語を含むすべての記事を検索したいとします。これは、あいまいクエリである WHERE 句で「LIKE」を使用する必要があることを意味します。 まずはSQL言語について説明します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。