MySQLの比較演算子正規表現マッチングREGEXPの使用の詳細な説明

MySQLの比較演算子正規表現マッチングREGEXPの使用の詳細な説明

1. データを初期化する

`test_01` が存在する場合はテーブルを削除します。
テーブル「test_01」を作成します(
 `id` int(0) NULLではない、
 `stu` varchar(255) 文字セット utf8mb4 照合 utf8mb4_0900_ai_ci NULL デフォルト NULL コメント '学生番号',
 `user` varchar(255) 文字セット utf8mb4 照合 utf8mb4_0900_ai_ci NULL デフォルト NULL コメント 'User',
 `km` varchar(255) 文字セット utf8mb4 照合 utf8mb4_0900_ai_ci NULL デフォルト NULL コメント '件名',
 `fs` varchar(255) 文字セット utf8mb4 照合 utf8mb4_0900_ai_ci NULL デフォルト NULL コメント 'スコア',
 `time` datetime(0) NULL デフォルト NULL コメント 'time',
 BTREE を使用した主キー (`id`)
) エンジン = InnoDB 文字セット = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

`test_01` に INSERT INTO VALUES (1, 'X0219001', '小三', '语文', '98', '2020-08-06 15:51:21');
`test_01` に値 (2, 'X0219001', '小三', '数学', '90', '2020-07-01 15:51:25') を挿入します。
`test_01` に値 (3, 'x0219001', '小三', '英语', '77', '2020-06-01 15:51:28') を挿入します。
`test_01` に INSERT INTO VALUES (4, 'X0219002', '小二', '语文', '98', '2020-08-06 15:51:21');

1. 基本的な文字マッチング

フィールドに「X」が含まれる学生番号と一致します。大文字と小文字を区別しない

SELECT * FROM test_01 WHERE stu REGEXP 'X';

ここに画像の説明を挿入

2. 「.」は任意の文字に一致することを意味する

複数の文字を一致させる必要がある場合は、ドットをさらに追加します。

SELECT * FROM test_01 WHERE stu REGEXP '.9001';
SELECT * FROM test_01 WHERE stu REGEXP '.02..0';

ここに画像の説明を挿入

3. '|'は2つの文字列のうちの1つを検索することを意味します

SELECT * FROM test_01 WHERE user REGEXP '二|四';

ここに画像の説明を挿入

4. '[ ]'は任意の1文字に一致します

SELECT * FROM test_01 WHERE stu REGEXP '0[23]';

ここで[23]は[2|3]と同等であり、1つの[]は1つの文字に一致します。

ここに画像の説明を挿入

マッチング範囲
[0123456789] または [0-9] は 0 から 9 までの数字に一致します
[az]は任意のアルファベット文字に一致します

5. 特殊文字のマッチング

1.\ エスケープ文字

つまり、エスケープです。正規表現内で特別な意味を持つすべての文字は、この方法でエスケープする必要があります。

メタ文字例示する
\\-検索を示す-
\\。検索を示します。

2. \はメタ文字を引用するためにも使用される

メタ文字例示する
\fページ区切り
\n改行
\r入力
\t集計
\v縦書き集計

3. 複数のインスタンスを一致させる

メタ文字例示する
* 0件以上の一致
+ 1 つ以上の一致 ({1, } に等しい)
? 0 または 1 の一致 ({0, 1} に等しい)
{n}指定された一致数
{n, }少なくとも指定された数の一致
{n,m}一致する数字の範囲(mは255を超えない)

4. 文字クラスのマッチング

コード説明する
[:a;数字:]任意の文字と数字([a-zA-Z0-9]と同じ)
[:アルファ:]任意の文字([a-zA-Z]と同じ)
[:空白:]スペースとタブ([\t]と同じ)
[:コントロール:] ASCII 制御文字 (ASCII 0 ~ 31 および 127)
[:桁:]任意の数字([0-9]と同じ)
[:グラフ:] ["print:]と同じですが、スペースはありません
[:より低い:]任意の小文字の行([az]と同じ)
[:印刷:]印刷可能な文字
[:punct:] [:alnum:] または [:cntrl:] のどちらにも含まれない文字
[空間:]スペースを含む任意の空白文字([\f\n\t\r\v]と同じ)
[:アッパー:]任意のサイズの文字([AZ]と同じ)
[:x桁:]任意の16進数([a-fA-F0-9]と同じ)

これで、MySQL 比較演算子正規表現マッチング REGEXP の詳細な使用法に関するこの記事は終了です。MySQL 正規表現マッチング REGEXP の関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MYSQL 演算子の概要
  • MySQL <> および <=> 演算子の紹介
  • MySql における特殊演算子の使用の概要
  • MySQLでよく使われる演算子と関数の概要
  • MySQL ノート — SQL 演算子

<<:  Nginxの仕組みの詳細な説明

>>:  Webpack4プラグインの実装原理についての簡単な説明

推薦する

Jenkins統合Dockerプラグインの問題を解決するいくつかの方法

目次背景質問1エラー 2エラー 3エラー4要約する背景テスト環境では、docker プラグインを統合...

Nginx の負荷分散構成、ダウンタイム発生時の自動切り替えモード

厳密に言えば、nginx には負荷分散バックエンド ノードのヘルス チェック機能はありませんが、デフ...

MySQL データベースのインデックス順序の詳細な説明

目次事件の原因解剖学ファイルの並べ替えファイルのソートが非常に遅いのですが、他に解決策はありますか?...

CSS は Alibaba ベクター ライブラリを使用して、対応する位置に見栄えの良いアイコン効果をすばやく追加します (サンプル コード)

Alibaba ベクターアイコンライブラリにアクセスAlibaba ベクターアイコンライブラリ好き...

MySQL 8.0 の新しいリレーショナル データベース機能の詳細な説明

序文MySQL 8.0 の最新バージョンは 8.0.4 rc であり、正式版は近日中にリリースされる...

jsイベント委譲の詳細な説明

1. 各関数はオブジェクトであり、メモリを占有します。メモリ内のオブジェクトが増えるほど、パフォーマ...

MySQL ページング中にオフセットが大きすぎる場合の SQL 最適化の経験の共有

問題を見つけるコンテンツをリストで表示すると、リスト内のコンテンツの数は多いかもしれませんが、ユーザ...

JavaScript の Set データ構造の詳細な説明

目次1. セットとは何か2. セットコンストラクタ2.1) 配列2.2) 文字列2.3) 議論2.4...

HTML テーブルタグと関連する改行の問題の詳細な分析

テーブルとは何ですか?テーブルは、データのキャリアである HTML テーブルです。以下は比較的標準的...

sqlite3 から mysql に移行するときに起こりうる問題のコレクション

簡単な説明適切な読者: モバイル開発sqlite3 データを mysql に移行する場合、多くの構文...

エラー 2002 (HY000): ソケット '/tmp/mysql.sock' 経由でローカル MySQL サーバーに接続できません

エラーメッセージ:エラー 2002 (HY000): ソケット '/tmp/mysql.so...

Vueはマルチタブコンポーネントを実装します

効果を直接確認するために、リロード、左を閉じる、右を閉じる、その他の機能を閉じるなどの右クリック メ...

Docker チュートリアル: コンテナの使用 (簡単な例)

Docker を初めて使用する場合は、コンテナの管理を始めるために習得する必要がある基本的なコマン...

ブラウザでのjsのイベントループイベントキューの詳細な説明

目次序文スタックと2つのキューを理解する実行プロセス簡単な例より難しい例要約する序文以下の内容はブラ...

docker compose の記述ルールについての簡単な説明

この記事ではクラスタの展開に関連する内容は紹介しませんバージョン制約Docker エンジン >...