mysql ステートメントでの like の使用: 1. [%] と一緒に使用し、[%] は 1 つ以上の文字のワイルドカード文字を表します; 2. [_] と一緒に使用し、[_] はワイルドカードを表しますたった1文字のキャラクター。
mysql ステートメントでの同様の使用法:
1. 一般的な使用法:
(1) % と併用します。
% は、フィールド名の big で始まるデータのクエリなど、1 つ以上の文字のワイルドカード文字を表します。
(2) _ と併用します。
# は 1 文字だけのワイルドカード文字を表します。上記のクエリ文の % を _ に変更すると、1 つのデータのみをクエリできることがわかります。
2. データ量が多い場合、ファジー クエリのようなものを使用すると、インデックスの失敗やパフォーマンスの問題が発生します。
(1) % または __
# で始まるファジー クエリは避けるようにしてください。 ##実行計画の説明により、ファジークエリのような場合、クエリが%と_で始まらない場合でもインデックスは有効であることがわかりました。 (2) カバリングインデックスを使用するクエリ条件とクエリ結果がインデックス内のフィールドである場合、このインデックスをカバリングインデックスと呼びます。このとき、ファジィクエリインデックスと同様に使用します。効果的。 InnoDB の主キーをインデックスに追加する必要はありません注: カバリング インデックスを使用する場合、フィールドの長さは要件によって制限されます。それを超えると、インデックスは失敗しますクエリに説明フィールドが含まれる場合、カバーするインデックスも無効になります。 #拡張情報like ステートメントの構文形式は次のとおりです。 select * from table name where フィールド名 like 対応する値 ( substring )、これは主に文字フィールド用であり、その機能は文字フィールド列内の対応する部分文字列を取得することです。
1. % 0 個以上の文字を含む文字列:
1. like'Mc%' は、Mc という文字で始まるすべての文字列 (McBadden など) を検索します。
2. like'%inger' は、inger という文字で終わるすべての文字列 (Ringer、Stringer など) を検索します。
3. like'%en%' は、任意の位置に文字 en を含むすべての文字列 (Bennet、Green、McBadden など) を検索します。
2. :_ (アンダースコア) 任意の 1 文字:
like'_heryl' は、heryl という文字で終わるすべての 6 文字の名前 (Cheryl、Sheryl など) を検索します。
3. [ ] は範囲 ([a-f]) またはセット ([abcdef]) 内の任意の 1 文字を指定します:
1、like'[CK]ars[eo]n' は次の文字列を検索します: Carsen、Karsen、Carson、および Karson (Carson など)。
2. like'[M-Z]inger' は、文字列 inger で終わり、M から Z までの任意の 1 文字で始まるすべての名前 (Ringer など) を検索します。
以上がmysqlステートメントでのlikeの使用法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。