Mysql | ワイルドカード(%、_ など)を使用したファジークエリの詳細な説明

Mysql | ワイルドカード(%、_ など)を使用したファジークエリの詳細な説明

ワイルドカードのカテゴリ:

%パーセント ワイルドカード: 任意の文字が任意の回数出現できることを示します (0 回も可能)。

_下線付きワイルドカード: 一致できる文字は 1 文字のみであり、それ以上でもそれ以下でもなく、1 文字のみであることを意味します。

いいね演算子:

LIKE の役割は、後続の検索パターンでは比較のために直接的な等価一致ではなくワイルドカードを使用するように MySQL に指示することです。

注: ユニバーサル マッチャーなしで like 演算子を使用すると、結果は = と同じになります。SELECT * FROM products WHERE products.prod_name like '1000'; は結果 1000 にのみ一致し、JetPack 1000 には一致しません。

1)% ワイルドカードの使用率:

「yves」で始まるレコードに一致します: (「yves」レコードを含む)

SELECT * FROM products WHERE products.prod_name like 'yves%';

「yves」を含むレコード(「yves」を含むレコードを含む)に一致します

SELECT * FROM products WHERE products.prod_name like '%yves%';

「yves」で終わるレコードに一致します(「yves」のレコードを含みますが、「yves」のレコードは除きます。つまり、yves の後にスペースがあるレコードです。注意してください)。

SELECT * FROM products WHERE products.prod_name like '%yves';

2)_ワイルドカードの使用:

SELECT * FROM products WHERE products.prod_name like '_yves';

一致する結果は、「yyves」のようなレコードです。

SELECT * FROM products WHERE products.prod_name like 'yves__';

一致する結果は、「yvesHe」のようなレコードです。(アンダースコアは 1 文字のみと一致し、それ以上でもそれ以下でもありません)

注記:

大文字と小文字に注意してください。あいまい一致、つまりテキストの一致を使用する場合、MySQL は大文字と小文字を区別する場合と区別しない場合があります。この結果は、ユーザーが MySQL をどのように構成するかによって異なります。大文字と小文字が区別される場合、YvesHe のようなレコードは、"yves__" のような一致条件と一致しません。

末尾のスペースに注意してください。「%yves」は「heyves」のようなレコードとは一致しません。

NULL および % ワイルドカードは任意の文字と一致しますが、NULL とは一致しないことに注意してください。つまり、SELECT * FROM products WHERE products.prod_name like '%'; は、products.prod_name が NULL であるレコードとは一致しません。

ヒントと提案:

ご覧のとおり、MySQL ワイルドカードは非常に便利です。ただし、この機能にはコストがかかります。ワイルドカード検索は通常、前述の他の検索よりも処理に時間がかかります。ワイルドカードを使用する際に覚えておくべきヒントをいくつか紹介します。

ワイルドカードを過度に使用しないでください。他の演算子で同じ目的を達成できる場合は、他の演算子を使用する必要があります。

ワイルドカードを使用する必要がある場合は、絶対に必要な場合を除き、検索パターンの先頭で使用しないでください。検索パターンの先頭にワイルドカードを配置すると、検索速度は最も遅くなります。

ワイルドカード文字の配置に注意してください。間違った場所に配置すると、期待した数値が返されない可能性があります。

追加知識: MySQL LIKEファジークエリ%_ワイルドカードはすべてのデータをクエリします

最近、ページング クエリ テストのバッチを作成しました。クエリの結果、2 つの特殊文字 _ % を使用すると、すべてのデータがクエリされることがわかりました。クエリ条件は機能せず、結果はテストで期待したものとは異なりました。

後で、これら 2 つの特殊文字は SQL LIKE クエリのワイルドカードであり、任意の文字を表すことができることがわかりました。

最終的に2つの解決策を思いつきました

1.これらの2つの特殊文字をエスケープして達成する

2. 従来の LIKE クエリ メソッドの代わりに、より高速な内部関数 INSTR を使用します。

INSTR() 関数は、文字列内の部分文字列が最初に出現する位置を返します。 str 内に部分文字列が見つからない場合、INSTR() 関数はゼロ (0) を返します。

以下では、INSTR 関数の構文について説明します。

INSTR(name,'Xiao Ming') のユーザーから * を選択します。

上記の記事Mysql | ワイルドカード(%、_など)を使用したファジークエリの詳細な説明は、編集者があなたと共有するすべてのコンテンツです。これが参考になれば幸いです。また、123WORDPRESS.COMをサポートしていただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL ファジークエリの使用法 (通常、ワイルドカード、組み込み関数)
  • MySQL データベースのステートメント ワイルドカード ファジー クエリの概要
  • MySQL でのワイルドカードを使用したファジークエリの実装に関する簡単な説明
  • MySQL ファジークエリにおけるワイルドカードエスケープについての簡単な説明
  • MYSQL 必読ノート 第 8 章: フィルタリングにワイルドカードを使用する
  • MySQLでワイルドカードを使用する際の注意点
  • MySql のファジークエリワイルドカードの使用に関する詳細な紹介
  • mysql 正規表現 LIKE ワイルドカード
  • mysql ワイルドカード (sql 高度なフィルタリング)

<<:  Linux sedコマンドの使用

>>:  Vue3とTypeScriptを組み合わせたプロジェクト開発の実践記録

推薦する

この記事では、VUE の複数の DIV とボタン バインディングの Enter イベントを実装する方法を説明します。

現在、OK ボタンをクリックしたときやキーボードの Enter キーを押したときに操作を実行するとい...

Nginxサービス500:内部サーバーエラーの原因の1つ

500 (内部サーバー エラー) サーバーでエラーが発生したため、要求を完了できませんでした。 50...

便利なモバイルスクロールプラグイン BetterScroll

目次スクロールをスムーズにするBetterScrollのスクロール体験慣性ローリングエッジリバウンド...

初心者向けウェブサイト構築ガイド⑦:美しいウェブサイトを作るのはとっても簡単

私はかつて、ウェブサイトを一度も構築したことのない人々が、初心者向けのウェブサイト構築方法に関する私...

mysql5.7.20 での最初のログイン失敗に対する簡単な解決策

まず、 (1)MySQL 5.7にはデフォルトのパスワードがあるデフォルトのパスワードを見つける g...

HTML でテキストの折り返しを実装する例 (HTML でテキストと画像が混在)

1. 画像の周りのテキスト通常のものを使用する場合、たとえば次のようになります。コードをコピーコー...

Centos7 システムに k8s クラスターを展開するための詳細な紹介

目次1 バージョンと計画1.1 バージョン情報: 1.2 クラスター計画2. 展開1. ファイアウォ...

HTMLのフォントがline-heightを指定しても垂直方向に中央揃えできない問題の解決方法を詳しく説明します

による写真に示されている効果を例に挙げてみましょう。明らかに、「次へ」というテキストを水平方向だけで...

ウェブページの背景色を制御する CSS コード

誰もが自分の Web ページの背景にふさわしい画像を見つけることに悩むことが多いと思います。これは事...

TeamCenter12 にログインする際の 404/503 問題の解決方法

TeamCenter12はアカウントのパスワードを入力し、ログインをクリックすると、404または50...

MySQL 8.0.15 winx64 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.15のインストールと設定方法を参考までに紹介します。具体的な内容は...

ウェブデザインの詳細分析に関する詳細な議論

設計業務では、設計者がレビューに参加したり、リーダーの一部が設計案の詳細が足りないと言っているのをよ...

ReactプロジェクトでのTypeScriptの実装

目次1. はじめに2. 使用方法ステートレスコンポーネントステートフルコンポーネント制御コンポーネン...

アクセス速度を上げるためにウェブサイトを最適化する方法の更新

最近、同社はitpubを皮切りに、コーポレートウェブサイト傘下の全サイトの評価を開始した。そのために...

KVM ベースの SRIOV パススルー構成とパフォーマンス テストの詳細な説明

SRIOVの導入、VFパススルー構成、パケット転送速度性能テスト目次1. SRIOVの紹介2. 環境...