ホームページ > データベース > mysql チュートリアル > mysqlのファジークエリ構文とは何ですか?

mysqlのファジークエリ構文とは何ですか?

青灯夜游
リリース: 2020-09-30 16:23:35
オリジナル
9004 人が閲覧しました

mysqlのファジークエリ構文とは何ですか?

MySQL のようなファジー クエリ

MySQL では SQL SELECT コマンドを使用してデータを読み取ることがわかっており、それをSELECT ステートメントの WHERE 句を使用して、指定したレコードを取得します。

WHERE 句の等号 = を使用して、「runoob_author = 'RUNOOB.COM'」のようにデータを取得するための条件を設定できます。

しかし、runoob_author フィールドに「COM」文字が含まれるすべてのレコードを取得する必要がある場合は、WHERE 句で SQL LIKE 句を使用する必要があります。

パーセント記号 % 文字は、UNIX または正規表現のアスタリスク * と同様に、SQL LIKE 句で任意の文字を表すために使用されます。

パーセント記号 % を使用しない場合、LIKE 句は等号 = と同じ効果があります。

構文

次は、LIKE 句を使用してデータ テーブルからデータを読み取る SQL SELECT ステートメントの一般的な構文です。 WHERE 句を使用して任意の条件を指定できます。

  • WHERE 句で LIKE 句を使用できます。

  • 等号 = の代わりに LIKE 句を使用できます。

  • LIKE は通常、メタキャラクター検索と同様に % とともに使用されます。

  • AND または OR を使用して 1 つ以上の条件を指定できます。

  • DELETE または UPDATE コマンドで WHERE...LIKE 句を使用して条件を指定できます。

  • mysql でのファジー クエリの 4 つの使用法:

一.%: 0 個以上の任意の文字を表します。任意の種類および長さの文字に一致します。場合によっては、中国語の場合は 2 つのパーセント記号 (%%) を使用して表現してください。 #**注: '%龙%' のように: 「dragon」を含むすべてのレコードをクエリします。

1. クエリ フィールドは '%龙%'

# のようになります。 #eg:select * from user where realname like '%龙%'

単語「龙」を含む本名フィールドを検索します

2. クエリされるフィールドは '%龙%' のようで、クエリされるフィールドは '%文%'

のようになります。例: select * from user where realname like '%龙%' and realname like ' %文%'

#= クエリされるフィールドは '%文%' のようで、クエリされるフィールドは '%龙%'

# のようになります。例: select * from user where realname like '%文% ' と実際の名前 '%龙%'

3。「龙」と「文」の両方を含むすべてのレコードをクエリします

realname like'%龙%文%': すべての「龙文」レコードをクエリします。「龙_文」「_龙文」「龙文_」

「Dragon」は前に、「Wen」という単語は後ろにある必要があります SELECT * From User Where RealName Like '%Dragon%Dragon%'

##realname like'%文%龙%':

すべての「文龙」レコードをクエリします。これは「文_龙」である可能性があります。 " "_文龙" "文龙_" 「龙」という単語が前にあり、「龙」という単語が後ろにある必要があります。

select * from user where realname like '%文%龙%'

##二._: 任意の 1 文字を表します。式の文字長を制限するためによく使用される単一の任意の文字と一致します:

1. 中央に単語「Lin」を含む実名フィールドをクエリします

(前提条件: 3 つの名前 単語)select * from user where realname like '_林_'

=select * from user where realname like '%_林_%'

クエリできるのは、「Yu Linwen」のような 3 文字で、中央の文字が「林」のような本名のみです。 #2. 姓 Lin の名前をクエリします。

(名前の 3 文字)

select * from user where realname like'Lin__'

(横に 2 文字あります)ここにバー)

=select * from user where realname like '%林__%'(ここに 2 本の水平バーがあります)

姓「Lin」の本名をクエリします。本名の文字数は 3

3 である必要があります。名前の最後の文字 「Lin」という名前の場合 (名前の 3 文字)

select * from user where realname like '__Lin'(ここには 2 つの水平バーがあります)

= select * from user where realname like '%__林%'(ここには 2 本の水平バーがあります)

姓をクエリします。名前は「Lin」です。本名の文字数は 3 文字でなければなりません

#4。名前をクエリします。姓 Lin (名前は 2 文字のみ)

select * from user where realname like 'Lin_'

#Lin という姓の人の名前をクエリします(名前は 2 文字または 3 文字です)

select * from user where realname like '%林_% '

5. 最後の文字が「Lin」である名前をクエリします (名前は 2 文字のみです )

select * from user where realname like '_林'

最後の文字が「Lin」である名前をクエリします (名前には 2 文字を使用することも、3 文字を使用することもできます)

select * from user where realname like '%_林%'

# #三.[ ]: 括弧内にリストされた文字の 1 つを表します (正規表現と同様)。文字、文字列、または範囲を指定し、一致するオブジェクトがそれらのいずれかである必要があります。

select * from user where realname like '[Zhang Cai Wang] Jie'

クエリ「Zhang Jie」、「Cai Jie」、「Wang Jie」 (「Zhang」の代わりに) Cai Wang] Cai Wangjie")

[ ] に一連の文字 (01234、abcde など) が含まれる場合、「0-4」、「a-e」と省略できます

select * from user where realname like 'Lin [1-9]' will query "Lin 1" "Lin 2"... "Lin 9"

四.[^ ]: 含まれていないことを意味します大括弧 列内の 1 文字。その値は [] と同じですが、一致するオブジェクトが指定された文字以外の文字である必要があります。

select * from user where realname like '[^Zhang Cai Wang] Jie'

姓が「Zhang」、「Cai」、「Wang」ではない「Lin Jie」をクエリします。 「Zhao Jie」など。

select * from user where realname like 'Lin[^1-4]'

では、「Lin 1」から「Lin 4」が除外され、「Lin」が検索されます。 5"、"Lin 6"、...

推奨チュートリアル: mysql ビデオ チュートリアル

以上がmysqlのファジークエリ構文とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート