반응형
0. 목적
MySQL을 사용하며, 특정 조건의 데이터를 조회하는 방법에 대해 알아보자. 본 포스트에서는 SELECT
, FROM
, WHERE
, LIKE
쿼리 명령어에 대해 알아본다.
1. 참고
본 포스트에서는 Windows 10 Pro 컴퓨터의 MySQL Workbench 8.0.31 환경에서 진행되었다. 예제에 사용된 SCHEMAS
는 MySQL 에서 기본 제공되는 world
SCHEMAS
를 사용했다. 적용 방법은 하단 링크를 참고하자.
2. 테이블의 모든 데이터값 출력 (SELECT, FROM)
SELECT * FROM 스키마 이름.테이블 이름;
*
은, 모든 필드를 선택하는 와일드카드 문자이니 참고하자.
▣ 예제
world
스키마의city
테이블의 모든 내용을 출력하라.
더보기
2-1. 코드
SELECT * FROM world.city;
2-2. 실행결과
3. 조건에 맞는 테이블의 데이터값 출력 (WHERE)
SELECT * FROM 스키마 이름.테이블 이름 WHERE 조건;
조건이 여러개일 경우, AND
/ OR
/ NOT
/ IN
연산자도 사용할 수 있다.
▣ 예제
world
스키마의city
테이블 중,CountryCode
가BLZ
인 데이터 값만 출력하라.
더보기
3-1. 코드
SELECT * FROM world.city WHERE CountryCode='BLZ';
3-2. 실행결과
4. 특정 문자가 포함되어 있는 테이블의 데이터값 출력 (LIKE)
SELECT * FROM 스키마 이름.테이블 이름 WHERE 칼럼 LIKE 조건;
LIKE
조건식은 아래와 같은 와일드 카드 문자를 사용해 표시할 수 있다.
와일드 카드 문자 | 설명 |
% | 0개 이상의 문자를 대신 표현 |
_ (언더바) | 1개의 문자를 대신 표현 |
LIKE
조건식의 사용 예시는 아래와 같다.
와일드 카드 문자 | LIKE 조건식 | 설명 |
% | %나이키 | '나이키' 문자열의 앞에 어떤 문자열이 오던 상관없고, 문장의 맨 끝이 '나이키' 로 끝나는 문자열 ex) 가나이키 ex) 안녕하세요나이키 |
나이키% | '나이키' 문자열의 뒤에 어떤 문자열이 오던 상관없고, 문장의 맨 앞이 '나이키' 로 시작하는 문자열 ex) 나이키가 ex) 나이키안녕하세요 |
|
%나이키% | '나이키' 문자열의 앞과 뒤에 어떤 문자열이 오던 상관없고, 문장의 중간에 '나이키' 가 포함된 문자열 ex) 이 신발은나이키제품입니다 ex) 이 제품은 나이키신상 제품입니다. |
|
% 나이키 % | '나이키' 문자열의 앞과 뒤에 띄어쓰기가 하나씩 있고, 그 앞뒤로 '나이키' 가 포함된 문자열 ex) 이 신발은 나이키 제품입니다 ex) 너 오늘 나이키 신발 신고 왔구나? |
|
_ | _23 | 3 자리수의 문자열을 표현함. 문자열의 두번째 자릿수는 2, 세번째 자리수는 3으로 고정됨. 첫번째 자리수는 어떤 문자든 상관 없음. ex) 123 ex) a12 ex) e12 |
12___ | 5 자리수의 문자열을 표현함. 문자열의 첫번째 자릿수는 1, 두번째 자리수는 2으로 고정됨. 세번째, 네번째, 다섯번째 자리수는 어떤 문자든 상관없음. ex) 12345 ex) 12abc ex) 12xyz |
|
1_3_ab__e | 9 자리수의 문자열을 표현함. 문자열의 첫번째 자리수는 1, 세번째 자리수는 3, 다섯번째 자리수는 a, 여섯번째 자리수는 b, 아홉번째 자리수는 e로 고정됨. 두번째, 네번째, 일곱번째, 여덟번째 자리수는 어떤 문자든 상관없음. ex) 1234abcde ex) 1a3zabkje ex) 183eab22e |
두 종류의 와일드 카드 문자를 조합해서 사용할 수도 있으니 참고하자.
검색하려는 LIKE
조건식에 와일드 카드 문자로 사용되는 문자와 동일한 문자가 포함되어 있을 경우도 있다. 와일드 카드 문자를 하나만 사용할 경우에는 와일드 카드 문자로 동작하고, 와일드 카드 문자의 맨 앞에 역슬래쉬 (\
) 를 삽입할 경우 일반 문자처럼 동작된다. 아래의 예시를 참고하자.
조건 | LIKE 조건식 |
%5로 시작하는 모든 문자열 | %\%5 |
m_file 문자를 포함하고, 맨 끝 자리가 미지수인 7자리의 문자열 | m\_file_ |
LIKE
조건식 %\%5
는 첫 번째 %
가 와일드 카드 문자로 동작하고, \%
는 단순히 내가 찾으려는 %
문자열을 의미한다.
LIKE
조건식 m\_file_
은 \_
가 단순히 내가 찾으려는 _
문자열을 의미하고, 맨 뒤의 _
는 와일드 카드 문자로 동작한다.
▣ 예제
world
스키마의city
테이블 중,ID
값이40번대
인 데이터값만 출력하라.
더보기
4-1-1. 코드
SELECT * FROM world.city WHERE ID LIKE '4_';
4-1-2. 실행결과
world
스키마의city
테이블 중,Name
이B
로 시작하는 데이터값만 출력해라.
더보기
4-2-1. 코드
SELECT * FROM world.city WHERE NAME LIKE 'B%';
4-2-2. 실행결과
300x250
반응형