MySql官方手册学习笔记2 MySql的模糊查询和正则表达式_MySQL
正则表达式
bitsCN.comSQL模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零字符)。在 MySQL中,SQL的模式默认是忽略大小写的。下面给出一些例子。注意使用SQL模式时,不能使用=或!=;而应使用LIKE或NOT LIKE比较操作符。
要想找出以“b”开头的名字:
mysql> <strong>SELECT * FROM pet WHERE name LIKE 'b%';</strong>
+--------+--------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+------------+
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
+--------+--------+---------+------+------------+------------+
要想找出以“fy”结尾的名字:
mysql> <strong>SELECT * FROM pet WHERE name LIKE '%fy';</strong>
+--------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+-------+
| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+--------+--------+---------+------+------------+-------+
要想找出包含“w”的名字:
mysql> <strong>SELECT * FROM pet WHERE name LIKE '%w%';</strong>
+----------+-------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+------------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
+----------+-------+---------+------+------------+------------+
要想找出正好包含5个字符的名字,使用“_”模式字符:
mysql> <strong>SELECT * FROM pet WHERE name LIKE '_____';</strong>
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
由MySQL提供的模式匹配的其它类型是使用扩展正则表达式。当你对这类模式进行匹配测试时,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。
扩展正则表达式的一些字符是:
‘.'匹配任何单个的字符。
字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。为了命名字符的范围,使用一个“-”。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字。
“ * ”匹配零个或多个在它前面的字符。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配任何数量的数字,而“.*”匹配任何数量的任何字符。
- 如果REGEXP模式与被测试值的任何地方匹配,模式就匹配(这不同于LIKE模式匹配,只有与整个值匹配,模式才匹配)。
- 为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的结尾用“$”。
为了说明扩展正则表达式如何工作,下面使用REGEXP重写上面所示的LIKE查询:
为了找出以“b”开头的名字,使用“^”匹配名字的开始:
mysql> <strong>SELECT * FROM pet WHERE name REGEXP '^b';</strong>
+--------+--------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+------------+
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
+--------+--------+---------+------+------------+------------+
如果你想强制使REGEXP比较区分大小写,使用BINARY关键字使其中一个字符串变为二进制字符串。该查询只匹配名称首字母的小写‘b'。
mysql> <strong>SELECT * FROM pet WHERE name REGEXP BINARY '^b';</strong>
<strong> </strong>
为了找出以“fy”结尾的名字,使用“$”匹配名字的结尾:
mysql> <strong>SELECT * FROM pet WHERE name REGEXP 'fy$';</strong>
+--------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+-------+
| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+--------+--------+---------+------+------------+-------+
为了找出包含一个“w”的名字,使用以下查询:
mysql> <strong>SELECT * FROM pet WHERE name REGEXP 'w';</strong>
+----------+-------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+------------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
+----------+-------+---------+------+------------+------------+
既然如果一个正则表达式出现在值的任何地方,其模式匹配了,就不必在先前的查询中在模式的两侧放置一个通配符以使得它匹配整个值,就像你使用了一个SQL模式那样。
为了找出包含正好5个字符的名字,使用“^”和“$”匹配名字的开始和结尾,和5个“.”实例在两者之间:
mysql> <strong>SELECT * FROM pet WHERE name REGEXP '^.....$';</strong>
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
你也可以使用“{n}”“重复n次”操作符重写前面的查询:
mysql> <strong>SELECT * FROM pet WHERE name REGEXP '^.{5}$';</strong>
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











고급 프로그래밍 언어인 Python은 배우고 사용하기 쉽습니다. Python 프로그램을 작성해야 하면 필연적으로 구문 오류가 발생하며 표현식 구문 오류는 흔한 오류입니다. 이 기사에서는 Python에서 표현식 구문 오류를 해결하는 방법에 대해 설명합니다. 표현식 구문 오류는 Python에서 가장 일반적인 오류 중 하나이며 일반적으로 구문을 잘못 사용하거나 필요한 구성 요소가 누락되어 발생합니다. Python에서 표현식은 일반적으로 숫자, 문자열, 변수 및 연산자로 구성됩니다. 가장 흔한

C 또는 C++에서 쉼표 ","는 다른 용도로 사용됩니다. 여기서 우리는 그것들을 사용하는 방법을 배울 것입니다. 연산자로서의 쉼표. 쉼표 연산자는 첫 번째 피연산자를 평가하고 결과를 버린 다음 두 번째 피연산자를 평가하고 값을 반환하는 이항 연산자입니다. 쉼표 연산자는 C 또는 C++에서 우선순위가 가장 낮습니다. 예 #include<stdio.h>intmain(){ intx=(50,60); inty=(func1(),func2());} 여기서 60은 x에 할당됩니다. 다음 명령문에서는 func1(이 먼저 실행됩니다.

C 언어의 지수 함수 표현 작성 방법 소개 및 코드 예제 지수 함수란 수학에서 흔히 사용되는 함수 유형으로 f(x)=a^x 형식으로 표현됩니다. a는 밑수이고 x는 지수입니다. 지수 함수는 주로 지수 증가 또는 지수 붕괴를 설명하는 데 사용됩니다. 지수 함수의 코드 예 C 언어에서는 수학 라이브러리의 pow() 함수를 사용하여 지수 함수를 계산할 수 있습니다. 다음은 샘플 프로그램입니다.

Java의 람다 표현식 Java 8이 출시되면서 람다 표현식은 Java 개발자들 사이에서 가장 관심을 갖고 논의되는 주제 중 하나가 되었습니다. 람다 표현식은 Java 프로그래머의 지루한 작성 방법을 단순화하고 프로그램의 가독성과 유지 관리성을 향상시킬 수도 있습니다. 이 기사에서는 Java의 람다 표현식과 이 표현식이 Java 코드에서 더 간단하고 직관적인 프로그래밍 경험을 제공하는 방법에 대해 자세히 살펴보겠습니다.

람다 식은 컬렉션을 반복하는 데 편리하게 사용할 수 있는 익명 함수입니다. 이 문서에서는 람다 식을 사용하여 컬렉션을 반복하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. Python에서 람다 표현식의 구문 형식은 다음과 같습니다. 람다 매개변수 목록: 표현식 람다 표현식의 매개변수 목록에는 쉼표로 구분된 하나 이상의 매개변수가 포함될 수 있습니다. 표현식은 람다 함수의 반환 값입니다. 아래의 간단한 예를 살펴보겠습니다.

이름에서 알 수 있듯이 람다 표현식은 화살표 기호(->)를 핵심으로 하는 익명 함수입니다. 이를 통해 코드 블록을 다른 메서드에 인수로 전달하거나 나중에 사용하기 위해 변수에 저장할 수 있습니다. 람다식 구문은 간결하고 이해하기 쉬우며 데이터 흐름 처리 및 병렬 컴퓨팅에 매우 적합합니다. 1. 람다식의 기본 구문 람다식의 기본 구문은 다음과 같습니다. (매개변수 목록)->{코드 블록} 그 중 매개변수 목록과 코드 블록은 선택 사항입니다. 매개변수가 하나만 있는 경우 괄호를 생략할 수 있습니다. 코드 블록이 한 줄이면 중괄호를 생략할 수 있습니다. 예를 들어 다음 코드 블록은 Lambda 표현식을 사용하여 숫자에 1을 더합니다.

람다식의 소개 및 기본 구문 람다식은 함수 매개변수 목록, 콜론, 함수 본문으로 구성됩니다. 함수 매개변수 목록은 일반 함수와 동일하며, 함수 본문은 명령문 집합이 아닌 표현식입니다. #예: 두 개의 숫자를 받고 그 합계를 반환하는 함수 반환 sum=lambdax,y:x+y 람다 표현식의 애플리케이션 시나리오 람다 표현식은 콜백 함수, 필터 함수 및 매핑 함수로 사용하기에 매우 적합합니다. 콜백 함수: 콜백 함수는 다른 함수 내에서 호출되는 함수입니다. 람다 표현식을 사용하면 이름을 선언하지 않고도 콜백 함수를 쉽게 생성할 수 있습니다. 필터 기능: 필터 기능은 전체 내용을 필터링하는 데 사용됩니다.

컴퓨터 기술의 급속한 발전으로 프로그래밍 언어는 지속적으로 업그레이드되고 개선되고 있습니다. 그 중 일반적으로 사용되는 웹 개발 언어인 PHP는 끊임없이 혁신을 거듭하며 새로운 버전을 출시하고 있습니다. 최근에는 PHP8.0 버전이 출시되어 큰 관심을 끌었습니다. 그중에서도 새 버전에서는 예외 처리 메커니즘이 개선된 점이 많은 주목을 받았습니다. 이 기사에서는 PHP8.0의 표현식에 대한 try 문 블록 지원 주제에 중점을 둘 것입니다. 1. PHP8.0의 예외 처리 메커니즘 개선 이전 버전에서는 P
