집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 대문자와 소문자를 쿼리하는 방법
MySQL의 케이스 문제
MySQL의 케이스 문제는 데이터베이스 설계에서 비롯됩니다. MySQL은 테이블 이름, 열 이름, 변수 이름 등을 포함한 식별자에서 대소문자를 구분합니다. 어떤 경우에는 이로 인해 많은 문제가 발생할 수 있습니다.
예를 들어 테이블을 생성할 때 나중에 SELECT 문을 사용하여 테이블을 쿼리하면 Student 또는 STUDENT 및 기타 유사한 사례 형식을 사용할 수 없습니다. 그렇지 않으면 MySQL 데이터베이스가 에러 메시지.
MySQL에서 대소문자를 구분하지 않는 쿼리를 만드는 방법
BINARY 키워드를 사용하세요
쿼리를 만들 때 BINARY 키워드를 사용하여 MySQL의 대소문자를 구분하지 마세요. 예를 들어, 다음 명령문을 사용하여 학생 테이블을 쿼리할 수 있습니다.
SELECT * FROM student WHERE BINARY name = 'Tom';
이런 식으로 MySQL은 이름의 대소문자에 관계없이 올바른 결과를 반환합니다. 이 접근 방식으로 문제를 해결할 수 있지만 상대적으로 큰 데이터 세트에서 BINARY 키워드를 사용하면 쿼리 성능에 영향을 줄 수 있으므로 문제에 대한 해결책이 우아하지 않습니다.
LOWER 함수 사용
대소문자 문제를 해결하려면 MySQL에서 LOWER 함수를 사용하여 쿼리할 수 있습니다. LOWER 함수는 문자열을 소문자 형식으로 변환합니다. 예를 들어, 다음 명령문을 사용하여 학생 테이블을 쿼리할 수 있습니다.
SELECT * FROM student WHERE LOWER(name) = 'tom';
이러한 방식으로 MySQL은 이름 필드의 모든 문자열을 소문자로 변환한 다음 'tom'과 비교합니다. 이 접근 방식을 사용하면 BINARY 키워드 사용으로 인한 쿼리 성능 영향을 피할 수 있습니다.
위 내용은 MySQL에서 대문자와 소문자를 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!