반응형
< MySQL의 like 와 문자열 컬럼에 fulltext 설정 >
# 코드 작업중에 특정 검색화면을 만들어야할때, 검색어를 입력하여 출력하는 화면을 개발할수 있다.
# 검색 화면 SQL문을 개발할 경우!
-- 영화 검색 화면
-- 이제 다음주 서버 개발(API)를 대비해서 id 컬럼도 필수로 주자 (ID는 유저에게 보여주는게 아니라 클라이언트에게 보여주는용도)
-- 영화 검색하는 SQL
-- 검색 용도로 특정 컬럼을 like를 활용해서 만들때는
-- 해당 컬럼을 index에서 fulltext 인덱스 처리를 해주어야 한다!! (중요) => 검색 속도를 올리기 위해
-- 혹시 summry 내용으로도 검색되게 하고 싶을때는
-- title like '%story%' or summary like '%story%'
-- ㄴ 타이틀과 서머리에 모두 story가 있는걸로 검색하고 싶으면 이렇게 작성하고
-- 인덱스에 fulltext처리를 두개 모두 해줘야 한다.
select m.id, m.title,
count(r.id) as review_cnt,
ifnull(avg(r.rating), 0) as avg_rating
from movie m
left join review r
on m.id = r.movieId
where title like '%story%'
group by m.id
limit 0, 25;
# like 문을 활용하여 검색화면을 개발할때 해당 컬럼을 fulltext 인덱스 처리를 해주어야 한다!
ㄴ Indexes > 직접 Index Name을 입력하고 검색어가될 컬럼을 선택 후에 Type을 FULLTEXT로 설정해 주어야함!
다음 게시글로 계속~!
728x90
반응형
'DATABASE > MySQL Workbench' 카테고리의 다른 글
MySQL Workbench : SQL 구문을 테이블명으로 사용하는 방법 (0) | 2024.05.30 |
---|---|
MySQL Workbench : id값 초기화 하기 (Auto Incrememt 설정) (0) | 2024.05.30 |
MySQL Workbench : Error Code : 1062. Duplicate entry 나오는 이유 (테이블의 unique 설정하는 방법) (0) | 2024.05.20 |
MySQL Workbench : foreign key 데이터를 삭제하고 싶을때, on delete cascade (0) | 2024.05.18 |
MySQL Workbench : 3개 이상의 테이블을 조인하는 방법 (0) | 2024.05.17 |