MySQL でのワイルドカードを使用したファジークエリの実装に関する簡単な説明

MySQL でのワイルドカードを使用したファジークエリの実装に関する簡単な説明

MySQL データベースでは、あいまいクエリが必要な場合にワイルドカードを使用します。

まず、演算子とワイルドカードという 2 つの概念を理解しましょう。

オペレーター

Like は SQL ステートメントの演算子です。その機能は、SQL ステートメントに続く検索パターンを、直接の等価一致ではなくワイルドカードを使用して比較することを示します。

注: ワイルドカードなしで like 演算子を使用した場合、効果は等号と同じになります。

SELECT id,title FROM table WHERE title like '张三';

この書き方は張三の記録と一致することしかできず、張三が良い人であるというような記録にはならない。

ワイルドカード

% (パーセント記号) と _ (アンダースコア) はワイルドカードです。% は任意の文字が任意の回数 (0 回まで) 出現できることを意味し、_ は 1 文字を意味します。ユーザーは次のとおりです。

1 SELECT id,title FROM table WHERE title like '张三%';
2 SELECT id,title FROM table WHERE title like '%张三';
3 SELECT id,title FROM table WHERE title like '%张三%';

1 は Zhang San で始まるレコードに一致することを意味し、2 は Zhang San で終わるレコードに一致することを意味し、3 は Zhang San を含むレコードに一致することを意味します。

1 SELECT id,title FROM table WHERE title like '张三_';
2 SELECT id,title FROM table WHERE title like '__张三';

1 は Hello Zhangsan のようなレコードに一致することを意味し、2 は Hello Zhangsan のようなレコードに一致することを意味します。

使用上の注意

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

末尾のスペースに注意してください。

NULL と % は任意の文字と一致しますが、NULL とは一致しないことに注意してください。

フェアユース

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

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

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

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

これで、MySQL ワイルドカード ファジー クエリに関するこの記事は終了です。MySQL ワイルドカード ファジー クエリの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

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

<<:  Tomcat9 のダウンロード、インストール、設定 + Eclipse への統合に関する詳細なチュートリアル

>>:  JS がビデオ弾幕効果を実現

推薦する

完全なショッピングカートを実装するためのミニプログラム

ミニプログラムは、参考までに完全なショッピングカート[すべて選択/選択解除して金額を計算/加算と減算...

初心者がHTMLタグを学ぶ(3)

HTML に触れる初心者は、いくつかの HTML タグを学びます。関連記事:初心者が学ぶ HTML...

html オプション 無効 選択 選択 無効 オプションの例

コードをコピーコードは次のとおりです。 <選択> <オプション値="&q...

CSS でリスト スタイル属性を設定する方法 (この記事を読むだけ)

リストスタイルのプロパティHTMLには、順序なしリストと順序ありリストの2種類のリストがあります。仕...

Dockerコンテナは定期的にデータベースをバックアップし、指定されたメールボックスに送信します(設計アイデア)

目次1. 背景: 2. デザインのアイデア: 3. 起動スクリプトを書く4. イメージを構築する5....

Vmwareでディスクを追加する方法:ディスクを拡張する

この記事では、ディスクを追加または拡張して、Vmare で有効にする方法について説明します。シナリオ...

CentOS 8 に MySql をインストールしてリモート接続を許可する方法

ダウンロードしてインストールします。まず、システムに MySQL または MariaDB があるかど...

MySQL テーブルスペースとは何ですか?

今日皆さんにお伝えしたいトピックは、「皆さんがよく話題にするテーブル スペースとは一体何でしょうか。...

ウェブページでメモの詳細が灰色になる問題に対処する

1. IE では、相対的な配置、つまり <div style="background...

DIVのぼかし機能を実装する方法

マウスを動かしたときにDIVが消えるように手ぶれ補正を使用するdiv タグ自体は onblur イベ...

MySQL8 ベースの docker-compose デプロイメント プロジェクトの実装

1. まず、次のパスに従って対応するフォルダを作成します。 ローカルのdockerでmysqlを実行...

MySQLがブール型を返すいくつかの状況について簡単に説明します。

mysqlはブール型を返します最初のケースでは、直接戻ります select id='22a...

Dayjs を使用して Vue で一般的な日付を計算する方法

vue を使用してプロジェクトを開発する場合、フロントエンドでは次のような日付と時刻を計算する必要が...

CSSのさまざまな背景、使用シナリオ、テクニックの詳細な分析

この記事はGitHub https://github.com/qq449245884/xiaozhi...

VMware vSphere 6.5 インストール チュートリアル (画像とテキスト)

vmware vSphere 6.5 は vSphere ソフトウェアのクラシック バージョンであ...