[워크벤치] MySQL Workbench 기능 활용
◽ UPDATE, DELETE 쿼리 사용 시 safe 모드 해제
-- 해제
set SQL_SAFE_UPDATES = 0;
-- 설정
set SQL_SAFE_UPDATES = 1;
◽ 디폴트 스키마로 지정하기
스키마가 2개 이상일 경우 테이블 앞에 스키마 이름을 적어야 쿼리 실행이 가능하다.
[Set as Default Schema]로 디폴트 스키마를 지정하면 해당 스키마의 테이블을 사용할 때 스키마 이름을 적지 않아도 된다.
디폴트로 지정된 스키마의 이름은 굵게 표시된다.
◽ 프로시저(procedure) 만들기
CREATE DEFINER=`root`@`localhost` PROCEDURE `updateComYnOfTodoList`(
IN idx INT
)
BEGIN
DECLARE comYn VARCHAR(4);
SELECT complete_yn INTO comYn FROM todo WHERE todo.idx = idx;
IF comYn='Y' THEN
UPDATE todo
SET complete_yn = 'N'
WHERE todo.idx = idx;
ELSE
UPDATE todo
SET complete_yn = 'Y'
WHERE todo.idx = idx;
END IF;
END
◽ 프로시저(procedure) 실행하기
만들어진 프로시저에 마우스를 올리면 오른쪽에 번개모양 아이콘이 생긴다.
클릭하면 프로시저를 실행할 수 있다.
또는 함수를 사용하는 방법도 있다.
-- call 함수를 사용해서 실행할 수 있다.
call todo.updateComYnOfTodoList(1);
◽ function 생성 및 사용 (* 예시 첨부)
[SQL/Function] 초성검색 / 초성에 해당하는 데이터 찾기
◽ Function CREATE DEFINER=`test`@`%` FUNCTION `fn_choSearch`( `str` varchar(20) ) RETURNS varchar(20) CHARSET utf8 BEGIN -- 초성검색 function declare returnStr varchar(100); declare cnt int; declar..
be-a-weapon.tistory.com
◽ 쿼리 없이 데이터 넣고 수정하기
Result Grid의 Edit 버튼의 플러스, 마이너스 버튼으로 데이터를 추가하고 삭제할 수 있다.
삭제 시에는 그 행의 전체 열을 클릭하지 않고 하나의 열만 선택해도 그 열에 해당되는 행이 삭제된다.
◽ SQL 파일로 내가 사용하는 쿼리 저장하기
◽ 쿼리의 cost 및 스캔 방법 조회
◽ 기타
- 쿼리 전체를 감싸 실행하는 방법도 있지만 쿼리의 끝, 쿼리의 가운데서 Ctrl + Enter를 눌러도 실행된다.
- 실행결과가 너무 많을 경우 상단 탭에서 limit을 줄 수 있다.
개인적으로 공부한 내용을 정리하는 블로그로
잘못된 개념을 게시하지않도록 주의하고 있으나 오류가 있을 수 있습니다.