>  기사  >  데이터 베이스  >  MySQL에서 데이터의 정확한 일치와 퍼지 일치를 수행하는 방법은 무엇입니까?

MySQL에서 데이터의 정확한 일치와 퍼지 일치를 수행하는 방법은 무엇입니까?

王林
王林원래의
2023-07-30 10:48:182640검색

MySQL에서 데이터의 정확한 일치와 퍼지 일치를 수행하는 방법은 무엇입니까?

MySQL은 널리 사용되는 관계형 데이터베이스 관리 시스템입니다. 데이터 쿼리를 수행할 때 정확한 일치나 퍼지 일치를 수행해야 하는 경우가 많습니다. 이 기사에서는 MySQL에서 이 두 가지 매칭 방법을 수행하는 방법을 소개하고 해당 코드 예제를 제공합니다.

정확한 일치란 쿼리 결과가 주어진 조건의 데이터와 정확하게 일치해야 한다는 요구 사항을 의미합니다. 일반적으로 등호 "="는 정확한 일치에 사용됩니다. 다음은 간단한 예입니다.

SELECT * FROM students WHERE name = 'John';

위 코드는 "John"이라는 학생 정보를 반환합니다. 여기서 "name"은 테이블의 열 이름이고 'John'은 일치시키려는 값입니다. "name" 열에 "John" 값이 있는 행만 반환됩니다.

등호를 사용하는 것 외에도 정확한 일치를 위해 "6745434bf92a2979d589ede8e8e7bea9", "e9385be0336c06a04f8e3fbe2c643e89=" 등과 같은 다른 비교 연산자를 사용할 수도 있습니다. 예는 다음과 같습니다.

SELECT * FROM products WHERE price > 50;

위 코드는 가격이 50보다 큰 제품 정보를 반환합니다. 여기서 "price"는 테이블의 열 이름이고 50은 일치시키려는 값입니다. "가격" 열의 값이 50보다 큰 행만 반환됩니다.

퍼지 매칭은 쿼리 결과가 주어진 조건과 부분적으로 일치할 수 있음을 의미합니다. 퍼지 일치에는 와일드카드가 자주 사용됩니다. MySQL의 일반적인 와일드카드 문자에는 "%" 및 "_"가 포함됩니다. "%"는 모든 길이의 문자를 나타내고, "_"는 한 문자를 나타냅니다. 예는 다음과 같습니다.

SELECT * FROM users WHERE email LIKE '%@gmail.com';

위 코드는 Gmail 사서함을 사용하여 모든 사용자 정보를 반환합니다. 여기서 "email"은 테이블의 열 이름이고 '%@gmail.com'은 일치시키려는 값입니다. "email" 열의 값이 "@gmail.com"으로 끝나는 행만 반환됩니다.

복잡한 퍼지 일치를 위해 여러 개의 와일드카드를 사용할 수도 있습니다. 예를 들면 다음과 같습니다.

SELECT * FROM customers WHERE phone_number LIKE '180%5_';

위 코드는 휴대폰 번호가 "180"으로 시작하고 끝에서 두 번째 숫자가 "5"인 고객 정보를 반환합니다. 여기서 "phone_number"는 테이블의 열 이름이고 '180%5_'는 일치시키려는 값입니다. "phone_number" 열의 값이 위 조건을 만족하는 행만 반환됩니다.

퍼지 일치는 일반적으로 쿼리 엔진이 각 행에 대해 패턴 일치를 수행해야 하기 때문에 정확 일치보다 효율성이 떨어집니다. 따라서 퍼지 일치를 수행할 때 와일드카드 앞에 퍼지 일치를 사용하지 않도록 하여 쿼리 효율성을 높이십시오.

요약하자면, MySQL에서는 완전 일치와 퍼지 일치가 일반적으로 사용되는 데이터 일치 방법입니다. 적절한 연산자와 와일드카드를 사용하면 특정 요구 사항에 따라 정확한 일치 또는 퍼지 일치를 수행할 수 있습니다. 이러한 일치 방법은 일상적인 데이터베이스 쿼리에서 매우 실용적이며 필요한 데이터를 정확하게 얻는 데 도움이 될 수 있습니다.

위 내용은 MySQL에서 데이터의 정확한 일치와 퍼지 일치를 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.