この記事では、例を使用して、replace と regexp を使用して MySQL で正規表現を置換する方法を説明します。ご参考までに、詳細は以下の通りです。 今日、友人から、データベースにある「./uploads/110100_cityHotel_北京富豪豪酒店.jpg」に似た形式を「./uploads/110100cityHotel北京富豪豪酒店.jpg」に変更する方法を尋ねられました。私はこのようにデータを処理したことがありませんが、MySQL では replace を使用してこれを実行でき、正規表現でも実行できることは知っています。 どうやってやるんですか? 必要なのは次のような 1 つの文だけです。
-- replace(フィールド名、"置換する文字"、"置換する文字") に注意してください。これで完了です。 MySQL では、replace と regexp は主に SQL ステートメントを通じてデータを置換するために使用されます。 まず、replace の具体的な使い方について説明します。 mysql 置換の使用法 1. 次のようにコードをコピーします。 テーブル (id,name) の値を ('1′,'aa'),('2′,'bb') に置き換えます このステートメントの目的は、テーブルに 2 つのレコードを挿入することです。主キーIDが1または2の場合、存在しない は以下と同等である テーブル (id,name) に値 ('1′,'aa'),('2′,'bb') を挿入します 同じ値が存在する場合、データは挿入されません。 2. オブジェクト内の検索のすべての出現を置換で置き換えます
—>WwWwWw.jb51.net 例: テーブルの名前フィールドのaaをbbに置き換えます
MySQL が提供するもう 1 つのタイプのパターン マッチングは、拡張正規表現を使用することです。 このようなパターンの一致をテストする場合は、REGEXP 演算子と NOT REGEXP 演算子 (または同義語の RLIKE と NOT RLIKE) を使用します。 拡張正規表現の文字には次のようなものがあります。 · '.' は任意の 1 文字に一致します。 · 文字クラス "[...]" は、角括弧内の任意の文字に一致します。たとえば、「[abc]」は「a」、「b」、または「c」に一致します。文字の範囲に名前を付けるには、「-」を使用します。 "[az]" は任意の文字に一致し、"[0-9]" は任意の数字に一致します。 · 「 * 」は、その前に続く文字の 0 個以上と一致します。たとえば、「x*」は任意の数の「x」文字に一致し、「[0-9]*」は任意の数の数字に一致し、「.*」は任意の数の任意の文字に一致します。 REGEXP パターンがテスト対象の値のどこかに一致する場合、パターンは一致します (これは、値全体が一致する場合にのみ一致する LIKE パターン マッチングとは異なります)。 テストする値の先頭または末尾に一致するようにパターンを配置するには、パターンの先頭に「^」を使用するか、パターンの末尾に「$」を使用します。 拡張正規表現がどのように機能するかを説明するために、上記の LIKE クエリを REGEXP を使用して書き直したものを次に示します。 1. 「d」で始まる名前を検索するには、「^」を使用して名前の先頭を一致させます。
このような結果セットでは大文字と小文字は区別されません。REGEXP 比較で大文字と小文字を区別するように強制する場合は、BINARY キーワードを使用して文字列の 1 つをバイナリ文字列にします。このクエリは、小文字の「d」で始まる名前のみに一致します。
「love」で終わる名前を検索するには、名前の末尾に「$」を使用します。
「w」を含む名前を検索するには、次のクエリを使用します。
正規表現パターンは値のどこにでも出現すれば一致するため、SQL パターンを使用する場合のように、前のクエリでパターンの両側にワイルドカードを配置して値全体に一致させる必要はありません。 ちょうど 5 文字を含む名前を検索するには、名前の先頭と末尾に「^」と「$」を使用し、その間に「.」を 5 回入力します。
「{n}」演算子「n 回繰り返す」を使用して、前のクエリを書き換えることもできます。
これは、MySQL の replace と regexp の簡単な使用方法です。より深く学習するために、具体的な例と使用方法を後続の記事で説明します。 PS: 以下に、参考までに非常に便利な正規表現ツールを 2 つ示します。 JavaScript 正規表現オンラインテストツール: 正規表現オンライン生成ツール: MySQL 関連のコンテンツに興味のある読者は、次のトピックを確認してください: 「MySQL 共通関数の概要」、「MySQL ログ操作スキルの概要」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキルの概要」、および「MySQL データベース ロック関連スキルの概要」。 この記事が皆様のMySQLデータベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
>>: Linux プロセスが占有するポート番号を表示する 6 つの方法
1. TypeScriptの紹介前回の記事ではTypeScriptのインストール、使い方、自動コンパ...
目次これ方法オブジェクト内これを隠した厳密モードこれを変更してこれいつものように、まずはコードを見て...
最近のプロジェクトでは、ポイントを集める効果を作成する必要があります。 ボスの説明によると、この効果...
目次1 約束呼び出しチェーンを中断する約束を破る中止メソッドのラッピング - Axios の Can...
リレーショナル データベースでは、悲観的ロックと楽観的ロックがリソース同時実行シナリオのソリューショ...
方法は2つあります: 1. サービス方法ファイアウォールのステータスを確認します。 [root@ce...
暗号化と復号化は、通信のセキュリティを確保するための重要な手段です。すでに多くの暗号化アルゴリズムが...
Web ページのアクセシビリティは、フロントエンドでのみ評価および実装できるもののようです。ユーザビ...
123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...
序文Deepin のユーザー インターフェイスは、使用時に非常に見栄えがします。インターフェイス効果...
目次序文ステップ序文今日、es ログが記録されていないことに気付きました。filebeat、elas...
目次コンポーネント通信の概要コンテンツ3つの方法まとめコンポーネントコミュニケーション - 父から息...
#事例: 従業員の給与水準を照会する 選択 給与、等級 から 従業員 参加する ジョブグレード g ...
目次1. 使用方法2. 出力結果1.id 2.選択タイプ3.表4.パーティション5.タイプ6.可能な...
目次スロークエリログとは何ですか?スロークエリを有効にする方法ログ分析ツール mysqldumpsh...