CLASS web

MySQL

레코드 검색

레코드 검색

앞에서 만들었던 mydevices를 이용하여 레코드 검색기능을 배워봅시다.!~~

지금까지 사용했던 SELECT문은 레코드를 불러오는 명령문입니다.

mydevices 안에 있는 mydevicesID, name, cpu, company 이렇게 4개의 필드가 존재하고 있습니다.

그럼 이번엔 조건에 맞는 값만 검색해볼까요..

명령문은 다음과 같습니다.

SELECT 필드명1, 필드명2, 필드명3...
FROM 테이블명
WHERE 조건;

WHERE문은 조건을 부여할 때 사용합니다. 그럼 테이블 mydevices에서 cpu가 M1인 제품을 찾아보도록 합시다.

SELECT * FROM mydevices WHERE cpu = 'M1';

위에 명령문을 입력하면 됩니다. = 는 같은것을 찾는다는 의미입니다.

mysql search-record

CPU가 M1인 제품의 특정 필드만 본다면... 예를들어 name와 company를 정보만 본다면 아래와 같이 입력 하시면 됩니다.

SELECT name, company FROM mydevices WHERE cpu = 'M1';
mysql search-record

특정 문자가 들어간 데이터 검색하기

특정 문자가 들어간 데이터를 검색할 수 있습니다.

찾을 문자열 앞 뒤로 %를 붙여줍니다. 그리고 = 대신 LIKE를 사용합니다.

그럼 CPU에 A가 들어가는 데이터를 찾는다면..

SELECT * FROM mydevices WHERE cpu LIKE '%A%';
mysql search-record

CPU에 A가 들어간 데이터가 표시됩니다.

특정 문자로 끝나는 데이터 검색하기

특정 문자앞에만 %를 붙이면 특정 문자로 끝나는 데이터를 찾을 수 있습니다.

cpu가 5로 끝나는 데이터를 검색해 보면..

SELECT * FROM mydevices WHERE cpu LIKE '%5';
mysql search-record

특정 문자로 시작하는 데이터 검색하기

특정 문자뒤에만 %를 붙이면 특정 문자로 시작하는 데이터를 찾을 수 있습니다.

cpu가 Mdm로 시작하는 데이터를 검색해 보면..

SELECT * FROM mydevices WHERE cpu LIKE 'M%';
mysql search-record

이번에는 특정 숫자보다 크거나 작은 데이터를 검색해 볼게요.

>, >=, <, <= 를 사용해서 크거나 같거나, 크거나, 작거나, 작거나 같거나하는 데이터를 검색할 수 있습니다.

특정 숫자보다 작은 데이터 검색하기

mydevicesID가 2보다 작은 데이터를 검색한다면

SELECT * FROM mydevices WHERE mydevicesID < 2;
mysql search-record

특정 숫자보다 작거나 같은 데이터 검색하기

mydevicesID가 2보다 작거나 같은 데이터를 검색한다면

SELECT * FROM mydevices WHERE mydevicesID <= 2;
mysql search-record

특정 숫자보다 큰 데이터 검색하기

mydevicesID가 2보다 큰 데이터를 검색한다면

SELECT * FROM mydevices WHERE mydevicesID > 2;
mysql search-record

특정 숫자보다 크거나 같은 데이터 검색하기

mydevicesID가 2보다 크거나 같은 데이터를 검색한다면

SELECT * FROM mydevices WHERE mydevicesID >= 2;
mysql search-record

좀 더 알아봅시다.

LIKE 앞에 NOT 을 사용할 수 있습니다. 반대로 작동합니다.

SELECT * FROM mydevices WHERE cpu LIKE '%A%';

위의 쿼리문은 cpu에 A가 들어가는 데이터를 불러오죠.

mysql search-record

LIKE앞에 NOT을 붙이면..

SELECT * FROM mydevices WHERE cpu NOT LIKE '%A%';
mysql search-record

위의 결과를 보면 cpu에 A가 들어있지 않은 데이터만 불러옵니다.

이런것도 가능합니다.

글자수가 몇개인것중에 몇번째 자리에 어떤 문자가 있는 데이터 찾기요.

예를 들어 글자수가 3글자이고 가운데에 1이 있는 데이터를 찾는것도 가능합니다.

_(언더바)를 사용합니다.

SELECT * FROM mydevices WHERE cpu LIKE '_1_';

위의 쿼리문을 보면 _1_를 사용했습니다. 데이터가 3글자 이고 가운데 1인 데이터를 의미합니다.

mysql search-record

결과가 잘 나왔네요.

그냥 글자수만 맞는 데이터를 찾으려면 _를 글자수 만큼 적어줍니다.

cpu가 두글자인 데이터만 찾는다면...

SELECT * FROM mydevices WHERE cpu LIKE '__';
mysql search-record



댓글 0개

정렬기준

PinkCoding

PinkCoding

X

PinkCoding

Web Scratch Pad

X

loading

            
            
        

컨텐츠로 돌아가기