저는 데이터를 찾기 위해 like를 사용했는데, 나중에 mysql에 정규식이 있다는 것을 알게 되었고, like보다 성능이 더 좋다고 느꼈습니다. 이제 mysql REGEXP 정규식 사용에 대해 자세히 설명하겠습니다. 이 방법이 모든 사람에게 도움이 되기를 바랍니다.
정규식은 문자열 집합을 설명합니다. 가장 간단한 정규식은 특수 문자를 포함하지 않는 정규식입니다. 예를 들어 정규식 hello는 hello와 일치합니다.
사소하지 않은 정규식은 2개 이상의 문자열과 일치할 수 있는 특수한 특정 구조를 채택합니다. 예를 들어 정규식 hello|word는 hello 문자열 또는 word 문자열과 일치합니다.
더 복잡한 예로, 정규 표현식 B[an]*s는 다음 문자열 중 하나와 일치합니다: Bananas, Baaaaas, Bs 및 B로 시작하고 s로 끝나며 숫자를 포함하는 모든 문자열 a의 다른 문자열 또는 n자.
다음은 REGEXP 연산자를 사용하여 테이블에 사용할 수 있는 스키마입니다.
애플리케이션 예, 사용자 테이블에서 이메일 형식이 잘못된 사용자 레코드 찾기:
SELECT * FROM users WHERE email NOT REGEXP '^[A-Z0-9._%-]+@[A-Z0-9.-]+.[A-Z]{2,4}$'
MySQL 데이터베이스의 정규 표현식 구문(주로 다양한 기호의 의미 포함).
(^) 문자
는 문자열의 시작 위치와 일치합니다. 예를 들어 "^a"는 문자 a로 시작하는 문자열을 의미합니다.
mysql> select 'xxxyyy' regexp '^xx'; +-----------------------+ | 'xxxyyy' regexp '^xx' | +-----------------------+ | 1 | +-----------------------+ 1 row in set (0.00 sec)
xxxyyy 문자열이 xx로 시작하는지 쿼리합니다. 결과 값은 1입니다. 이는 값이 true이고 조건이 충족됨을 의미합니다.
($) 문자
는 문자 X로 끝나는 문자열을 나타내는 "X^"와 같이 문자열의 끝 위치와 일치합니다.
(.) 문자
는 영어의 점입니다. 캐리지 리턴, 라인 피드 등을 포함한 모든 문자와 일치합니다.
(*) 문자
별표는 0개 이상의 문자와 일치하며, 그 앞에 내용이 있어야 합니다. 예:
mysql> select 'xxxyyy' regexp 'x*';
이 SQL 문은 정규 일치가 true입니다.
(+) 문자
더하기 기호는 1개 이상의 문자와 일치하며 그 앞에 내용도 있어야 합니다. 더하기 기호는 별표가 0번 나타날 수 있고 더하기 기호가 적어도 한 번 나타나야 한다는 점을 제외하면 별표와 유사하게 사용됩니다.
(?) 문자
물음표는 0 또는 1번 일치합니다.
예:
이제 위 표에 따라 요구 사항을 충족하기 위해 다양한 유형의 SQL 쿼리를 설치할 수 있습니다. 여기에 몇 가지 이해가 있습니다. person_tbl이라는 테이블이 있고 name이라는 필드가 있다고 가정해 보세요.
'st'로 시작하는 모든 이름을 찾는 쿼리
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
'ok'로 끝나는 모든 이름을 찾는 쿼리
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Query Find 이름에 'mar'가 포함된 모든 문자열
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
이 쿼리는 모음으로 시작하고 'ok'로 끝나는 모든 이름을 찾습니다
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
다음 예약어는 정규 표현식에 사용할 수 있습니다
^
일치하는 문자열은 다음 문자열로 시작합니다
mysql> select "fonfo" REGEXP "^fo$"; -> 0(表示不匹配) mysql> select "fofo" REGEXP "^fo"; -> 1(表示匹配)
$
일치하는 문자열은 이전 문자열로 끝납니다
mysql> select "fono" REGEXP "^fono$"; -> 1(表示匹配) mysql> select "fono" REGEXP "^fo$"; -> 0(表示不匹配) .
모든 문자와 일치합니다(새 줄 포함)
mysql> select "fofo" REGEXP "^f.*"; -> 1(表示匹配) mysql> select "fonfo" REGEXP "^f.*"; -> 1(表示匹配)
a*
임의 개수의 a와 일치(빈 문자열 포함)
mysql> select "Ban" REGEXP "^Ba*n"; -> 1(表示匹配) mysql> select "Baaan" REGEXP "^Ba*n"; -> 1(表示匹配) mysql> select "Bn" REGEXP "^Ba*n"; -> 1(表示匹配)
a+
임의 개수의 a와 일치(빈 문자열 제외)
mysql> select "Ban" REGEXP "^Ba+n"; -> 1(表示匹配) mysql> select "Bn" REGEXP "^Ba+n"; -> 0(表示不匹配)
어?
1 또는 Zero Almysql> select "Bn" REGEXP "^Ba?n"; -> 1(表示匹配) mysql> select "Ban" REGEXP "^Ba?n"; -> 1(表示匹配) mysql> select "Baan" REGEXP "^Ba?n"; -> 0(表示不匹配)de | abc
matches de 또는 abc
mysql> select "pi" REGEXP "pi|apa"; -> 1(表示匹配) mysql> select "axe" REGEXP "pi|apa"; -> 0(表示不匹配) mysql> select "apa" REGEXP "pi|apa"; -> 1(表示匹配) mysql> select "apa" REGEXP "^(pi|apa)$"; -> 1(表示匹配) mysql> select "pi" REGEXP "^(pi|apa)$"; -> 1(表示匹配) mysql> select "pix" REGEXP "^(pi|apa)$"; -> 0(表示不匹配)(abc)* abc를 좋아하는 것만 큼 많은 사람들 (빈 문자열 포함).
mysql> select "pi" REGEXP "^(pi)*$"; -> 1(表示匹配)
mysql> select "pip" REGEXP "^(pi)*$"; -> 0(表示不匹配)
mysql> select "pipi" REGEXP "^(pi)*$"; -> 1(表示匹配)
{2,3}
이것은 여러 이전 예약어의 기능을 실현할 수 있는 보다 포괄적인 방법입니다.
a*
는 다음과 같이 쓸 수 있습니다.{1,}
a?는 다음과 같이 쓸 수 있습니다. {0,1} {}에는 정수 매개변수 i가 하나만 있습니다. 이는 문자를 의미합니다. i번만 나타날 수 있습니다. {} 내에 정수 매개변수 i가 있고 그 뒤에 ","가 옵니다. 이는 문자가 i번 이상 나타날 수 있음을 나타냅니다. {} 내에 정수 매개변수 i가 하나만 있습니다. "," 뒤에 정수 매개변수 j가 오면 문자가 i회 이상 j회(i회 및 j회 포함)만 나타날 수 있음을 의미합니다. 정수 매개변수는 0보다 크거나 같고 RE_DUP_MAX보다 작거나 같아야 합니다(기본값은 255). 두 개의 매개변수가 있는 경우 두 번째 매개변수는 첫 번째 매개변수보다 크거나 같아야 합니다. [a-dX]는 "a", "b", "c", "d" 또는 "X"[^와 일치합니다. a- dX]는 "a", "b", "c", "d", "X"를 제외한 모든 문자와 일치합니다. "[", "]"는 쌍으로 사용해야 합니다mysql> select "aXbc" REGEXP "[a-dXYZ]"; -> 1(表示匹配) mysql> select "aXbc" REGEXP "^[a-dXYZ]$"; -> 0(表示不匹配) mysql> select "aXbc" REGEXP "^[a-dXYZ]+$"; -> 1(表示匹配) mysql> select "aXbc" REGEXP "^[^a-dXYZ]+$"; -> 0(表示不匹配) mysql> select "gheis" REGEXP "^[^a-dXYZ]+$"; -> 1(表示匹配) mysql> select "gheisa" REGEXP "^[^a-dXYZ]+$"; -> 0(表示不匹配)관련 권장 사항: JS 정규식은 신분증 확인 기능을 완벽하게 구현합니다.
정규식을 사용하여 JavaScript 코드를 강조하는 방법
위 내용은 MySQL에서 REGEXP 정규식 사용에 대한 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

“mysql-connector”是mysql官方提供的驱动器,可以用于连接使用mysql;可利用“pip install mysql-connector”命令进行安装,利用“import mysql.connector”测试是否安装成功。

在mysql中,是否需要commit取决于存储引擎:1、若是不支持事务的存储引擎,如myisam,则不需要使用commit;2、若是支持事务的存储引擎,如innodb,则需要知道事务是否自动提交,因此需要使用commit。


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

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

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!
