Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

SQL에서 "WHERE 바이너리"를 사용합니까?

<시간/>

이진 키워드는 WHERE 절 뒤에 사용하여 정확한 대소문자를 구분하는 일치와 값을 비교할 수 있습니다.

다음은 예입니다 -

사례 1 − 대소문자를 구분하지 않는 일치

쿼리는 다음과 같습니다 -

mysql> 결과로 'joHN'='JOHN' 선택;

다음은 출력입니다 -

+--------+| 결과 |+--------+| 1 |+--------+1 행 세트(0.00초)

위의 샘플 출력에서 ​​joHN과 JOHN이 두 개의 다른 단어라는 것을 알고 있는 동안 결과는 true입니다. 대소문자를 구분하지 않습니다.

사례 2 − 대소문자 구분을 원하는 경우 바이너리 키워드를 사용하세요.

쿼리는 다음과 같습니다 -

mysql> 결과로 바이너리 'joHN'='JOHN' 선택;

다음은 출력입니다 -

+--------+| 결과 |+--------+| 0 |+--------+1 행 세트(0.00초)

이제 다른 쿼리를 살펴보겠습니다 -

mysql> 결과로 바이너리 'JOHN'='JOHN' 선택;

다음은 출력입니다 -

+--------+| 결과 |+--------+| 1 |+--------+1 행 세트(0.00초)

참고 − 테이블을 생성할 때마다 이진 키워드를 사용하여 이진 키워드를 사용하여 열 대소문자를 구분하도록 할 수 있습니다.

위의 개념을 이해하기 위해 테이블을 만들어 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> create table binaryKeywordDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10) 바이너리, -> PRIMARY KEY(Id) -> );쿼리 OK, 영향을 받는 행 0개(0.88초) 

INSERT 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -

mysql> insert into binaryKeywordDemo(Name) values('bOB');Query OK, 1행 영향(0.15초)mysql> insert into binaryKeywordDemo(Name) values('bob');Query OK, 1행 영향( 0.13초)mysql> insert into binaryKeywordDemo(Name) values('BOB');Query OK, 1개의 row가 영향을 받습니다. (0.18초)mysql> insert into binaryKeywordDemo(Name) values('Bob');Query OK, 1개의 row가 영향을 받습니다( 0.18초)mysql> insert into binaryKeywordDemo(Name) values('bOb');Query OK, 1개의 row가 영향을 받습니다(0.15초)mysql> insert into binaryKeywordDemo(Name) values('boB');Query OK, 1개의 row가 영향을 받습니다( 0.21초)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -

mysql> select *from binaryKeywordDemo;

다음은 출력입니다 -

+----+------+| 아이디 | 이름 |+----+------+| 1 | 밥 || 2 | 밥 || 3 | 밥 || 4 | 밥 || 5 | 밥 || 6 | boB |+----+------+6행 세트(0.00초)

다음은 대소문자 구분과 같이 정확히 일치하는 쿼리입니다 -

mysql> select *from binaryKeywordDemo where Name='Bob';

다음은 출력입니다 -

+----+------+| 아이디 | 이름 |+----+------+| 4 | 밥 |+----+------+1 행 세트(0.00초)