mysql ワイルドカード (sql 高度なフィルタリング)

mysql ワイルドカード (sql 高度なフィルタリング)

まず、値の一部と一致させるために使用される特殊文字であるワイルドカードについて簡単に紹介します。

search patternリテラル値、ワイルドカード文字、またはその両方の組み合わせで構成される検索条件。

ワイルドカードは演算子を補足するものです。演算子は確定しますが、ワイルドカードはあいまいです。

以下にいくつか例を挙げます。

% ワイルドカード:

製品から*を選択
WHERE products.prod_name LIKE 'jet%'


この % は、先行する文字が任意の回数出現することを意味します。

この例では、検索式'jet%'を使用します。この句を実行すると、 jetで始まるすべての単語が検索されます。 % 、文字数に関係なく、jet の後の任意の文字を受け入れるようにMySQL指示します。

大文字と小文字の区別MySQLの設定によっては、検索で大文字と小文字が区別される場合があります。大文字と小文字を区別すると、 'jet%' JetPack 1000と一致しなくなります。

別のアカウントの例を見てみましょう。

製品から*を選択
products.prod_name が '%anvil%' のように指定されているかどうか


上記は、文字anvilを含むすべてのprod nameが一致することを意味します。

もう一度、別の例を挙げます。

製品から*を選択
WHERE products.prod_name LIKE 's%e'


つまり、s で始まり e で終わるすべてのprod nameが一致することになります。

% 1 つ以上の文字に加えて 0 個の文字に一致する可能性があることに注意することが重要です。 %
検索パターン内の特定の位置にある 0、1、またはそれ以上の文字を表します。

注意 末尾のスペース 末尾のスペースはワイルドカードの一致を妨げる可能性があります。例えば、保存ワード
anvil場合、その後に1つ以上のスペースが続くと、 WHERE
prod_name LIKE '%anvil'末尾に l があるため一致しません。
の後に余分な文字があります。この問題を解決する簡単な方法は、検索パターンの末尾に % を追加することです。

注: NULL % ワイルドカード文字は何にでも一致するように見えますが、例外が 1 つあります。それはNULLです。 WHERE prod_name LIKE '% ' でも、製品名として値NULL使用する行には一致しません。

もう一つの便利なワイルドカード文字はアンダースコア(_)です。アンダースコア文字は % と同じ目的を持ちますが、複数の文字ではなく 1 つの文字に一致します。

製品から*を選択
WHERE products.prod_name LIKE '_ ton anvil'

上記の_は任意の文字を表します。

0文字に一致する%とは異なり、 _常に 1 文字に一致し、それ以上でもそれ以下でもありません。

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

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

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

これで、MySQL ワイルドカード (SQL 高度なフィルタリング) に関するこの記事は終了です。MySQL ワイルドカードに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

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

<<:  canvas.toDataURL image/png エラー処理方法の推奨

>>:  IE6/7 は混乱するだろう: 空のテキスト ノードの高さの問題

推薦する

JSキャンバスは描画ボードと署名ボードの機能を実現します

この記事では、お絵かきボード/サインボード機能を実現するためのJSキャンバスの具体的なコードを参考ま...

Docker を使用してイメージをローカルにパッケージ化してデプロイする方法

初めてDockerを使用してイメージをローカルにパッケージ化してデプロイするまず、私のラップトップシ...

MySQL 5.7.18 のインストール中に MySQL サービスの起動に失敗する問題の解決策

MySQL は非常に強力なリレーショナル データベースです。しかし、初心者の中には、インストールや設...

MySQL のデバッグと最適化に関する 101 のヒントを共有する

MySQL は強力なオープンソース データベースです。データベース駆動型アプリケーションの数が増える...

MySQLの整数および文字列インデックスの無効化または暗黙的な変換に関する簡単な説明

目次問題の概要問題の再現問題の拡大結論は問題の概要今日、仕事中に、DBA が突然、SQL に暗黙的な...

MySQL 権限とデータベース設計のケーススタディ

権限とデータベース設計ユーザー管理SQLyogを使用してユーザーを作成し、権限を付与する基本コマンド...

Alibaba Cloud Server で MySQL デュアルマシン ホットスタンバイを手動で実装する 2 つの方法

1. コンセプト1. ホットバックアップとバックアップの違いホット バックアップは高可用性 (HA)...

Docker 基本チュートリアル: Dockerfile 構文の詳細な説明

序文Dockerfile は Docker プログラムによって解釈されるスクリプトです。Docker...

Vue3 がデータ監視を実装するためにプロキシを使用する理由の分析

Vue データの双方向バインディング原則ですが、この方法には欠点があり、配列とオブジェクトの部分的な...

JavaScript を使用して動的に生成されるテーブルの詳細な説明

*ページを作成する: 2つの入力ボックスとボタン*コードと手順/* 1. 入力行と列の値を取得する2...

JSは10進数を16進数に変換するサンプルコードを実装します

序文コードを書くと、時々基数変換の問題に遭遇します。一般的な変換には、2進数、8進数、10進数、16...

CSS3 を使用してピカチュウのアニメーション壁紙を作成する例

文章さて、次はレンダリングを見せましょう。画像を見て初めて理解することに興味が湧くでしょう。そうでな...

Linuxで大きなファイルを素早くコピーする方法

データをコピーリモートでデータをコピーする場合、通常は rsync コマンドを使用しますが、小さなフ...

MySQLチュートリアルではストアドプロシージャを徹底的に理解します

目次1. ストアドプロシージャに関連する概念2. ストアドプロシージャの使用1) ストアドプロシージ...

docker で php+nginx+swoole+mysql+redis 環境を構築する方法

オペレーティングシステム: Alibaba Cloud ESC インスタンス centos7.4ソフ...