MySQL正则表达式初步_MySQL
正则表达式
我们知道,在SQL之中,可以用 like 这个谓词(表达式) 来进行模糊检索,并支持 %,?,_等占位符.但是,这个模糊检索的功能有很多限制,简单来说就是太模糊了。
在MySQL中提供了 REGEXP 关键字来支持正则表达式,当然,只是一些很简单的正则啦。
首先,我们构造一些测试数据。
-- 建表USE test;DROP TABLE IF EXISTS t_regcustomer;CREATE TABLE t_regcustomer ( id INT(10) AUTO_INCREMENT ,name VARCHAR(256) ,age INT(10) , PRIMARY KEY(id)) COLLATE='utf8_general_ci' ENGINE=InnoDB;
-- 插入一些测试数据:TRUNCATE TABLE t_regcustomer;INSERT INTO t_regcustomer(name, age) VALUES ('王明',20);INSERT INTO t_regcustomer(name, age) VALUES ('王大',21);INSERT INTO t_regcustomer(name, age) VALUES ('小王',22);INSERT INTO t_regcustomer(name, age) VALUES ('小王2',22);INSERT INTO t_regcustomer(name, age) VALUES ('敲不死',23);INSERT INTO t_regcustomer(name, age) VALUES ('憨憨',24);INSERT INTO t_regcustomer(name, age) VALUES ('憨憨2',24);INSERT INTO t_regcustomer(name, age) VALUES ('郭靖名',25);INSERT INTO t_regcustomer(name, age) VALUES ('郭靖2',25);INSERT INTO t_regcustomer(name, age) VALUES ('郭靖3',25);INSERT INTO t_regcustomer(name, age) VALUES ('郭得缸',25),('大鹏',20),('大鹏2',20),('大鹏3',20),('二鹏',19),('鹏鹏',18),('鹏鹏1',18),('小鹏',17),('AAA',17),('aaa',17),('SS',17),('s2',17),('ss',17);
1. 最简单的查询:
SELECT *FROM t_regcustomer;
SELECT c.id, c.name, c.ageFROM t_regcustomer c;
SELECT c.id, c.name, c.ageFROM t_regcustomer cORDER BY c.age ASC;
%匹配任意数量(0~n)的任意字符
SELECT c.id, c.name, c.ageFROM t_regcustomer cWHERE c.name LIKE '%鹏%'ORDER BY c.age ASC;
.匹配任意一个字符
注意此处因为没有起始(^)和结束($)限定符,所以只要列中出现的行都会被检索出来.
SELECT c.id, c.name, c.ageFROM t_regcustomer cWHERE c.name REGEXP '.鹏.'ORDER BY c.age ASC;
SELECT c.id, c.name, c.ageFROM t_regcustomer cWHERE c.name REGEXP '^王'ORDER BY c.age ASC;
SELECT c.id, c.name, c.ageFROM t_regcustomer cWHERE c.name REGEXP BINARY '^s'ORDER BY c.age ASC;
SELECT c.id, c.name, c.ageFROM t_regcustomer cWHERE c.name REGEXP BINARY 'a|s'ORDER BY c.name ASC;
[123] 表示 1、2、3这3个数字之一出现即可
SELECT c.id, c.name, c.ageFROM t_regcustomer cWHERE c.name REGEXP BINARY '鹏[123]'ORDER BY c.name ASC;
SELECT c.id, c.name, c.ageFROM t_regcustomer cWHERE c.name REGEXP BINARY '鹏[1-9]'ORDER BY c.name ASC;
使用 //
可以转义 /.[]()?-| 以及分页,换行符号等
11.更多内容
请查阅 《MySQL必知必会》 68页 正则表达式

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Python は高レベルのプログラミング言語であり、学習と使用が簡単です。 Python プログラムを作成する必要があると、必然的に構文エラーに遭遇することになります。式の構文エラーはよくあるエラーです。この記事では、Python で式の構文エラーを解決する方法について説明します。式の構文エラーは Python で最も一般的なエラーの 1 つであり、通常は構文の間違った使用法や必要なコンポーネントの欠落によって発生します。 Python では、式は通常、数値、文字列、変数、演算子で構成されます。ごくありふれた

C または C++ では、カンマ「,」はさまざまな用途に使用されます。ここではそれらの使用方法を学びます。演算子としてのカンマ。カンマ演算子は、最初のオペランドを評価して結果を破棄し、次に 2 番目のオペランドを評価して値を返す二項演算子です。カンマ演算子は、C または C++ では優先順位が最も低くなります。例 #include<stdio.h>intmain(){ intx=(50,60); inty=(func1(),func2());} ここでは、x に 60 が代入されます。次のステートメントでは、 func1( が最初に実行されます

C 言語での指数関数式の書き方とコード例の紹介 指数関数とは? 指数関数は数学でよく使われる関数で、f(x)=a^x の形式で表現できます。 a は底、x は指数です。指数関数は主に、指数関数的な増加または指数関数的な減衰を説明するために使用されます。指数関数のコード例 C 言語では、数学ライブラリの pow() 関数を使用して指数関数を計算できます。

Java のラムダ式 Java 8 のリリースにより、ラムダ式は Java 開発者の間で最も懸念され、議論されるトピックの 1 つになりました。ラムダ式を使用すると、Java プログラマーの退屈な記述方法が簡素化され、プログラムの可読性と保守性も向上します。この記事では、Java のラムダ式と、ラムダ式が Java コードでよりシンプルで直感的なプログラミング エクスペリエンスを提供する方法について詳しく説明します。

ラムダ式は、コレクションを反復処理するために便利に使用できる匿名関数です。この記事では、ラムダ式を使用してコレクションを反復処理する方法を紹介し、具体的なコード例を示します。 Python では、ラムダ式の構文形式は次のとおりです。 ラムダ パラメータ リスト: 式のパラメータ リストには、カンマで区切られた 1 つ以上のパラメータを含めることができます。式はラムダ関数の戻り値です。以下の簡単な例を見てみましょう。

ラムダ式の概要と基本構文 ラムダ式は、関数パラメータ リスト、コロン、関数本体で構成されます。関数パラメータのリストは通常の関数と同じで、関数本体はステートメントのセットではなく式です。 #例: 2 つの数値を受け取り、その合計を返す関数を返す sum=lambdax,y:x+y ラムダ式のアプリケーション シナリオ ラムダ式は、コールバック関数、フィルター関数、およびマッピング関数としての使用に非常に適しています。コールバック関数: コールバック関数は、別の関数内で呼び出される関数です。ラムダ式を使用すると、名前を宣言せずにコールバック関数を簡単に作成できます。フィルター機能: フィルター機能は、完全なフィルターを除去するために使用されます。

ラムダ式は、名前が示すように、矢印記号 (->) を中心とした匿名関数です。コードのブロックを引数として他のメソッドに渡したり、後で使用するために変数に格納したりできます。ラムダ式の構文は簡潔で理解しやすく、データ フローの処理や並列コンピューティングに非常に適しています。 1. ラムダ式の基本構文 ラムダ式の基本構文は以下のとおりです。 (パラメータリスト)->{コードブロック} このうち、パラメータリストとコードブロックはオプションです。パラメータが 1 つだけの場合は、括弧を省略できます。コード ブロックが 1 行のみの場合は、中括弧を省略できます。たとえば、次のコード ブロックはラムダ式を使用して数値に 1 を加算します。

コンピューター技術の急速な発展に伴い、プログラミング言語は常にアップグレードおよび改良されています。その中でも、PHP は一般的に使用される Web 開発言語として、常に革新され、新しいバージョンがリリースされています。最近、PHP8.0バージョンがリリースされ注目を集めています。中でも新バージョンでの例外処理機構の改善は大きな注目を集めている。この記事では、PHP8.0 の try ステートメント ブロックでの式サポートのトピックに焦点を当てます。 1. PHP8.0の例外処理機構の改善 以前のバージョンでは、P
