개발/DB 11

[Mybatis] selectKey 태그 key값 리턴

개발을 하다보면 가끔 insert 후 키값을 받아와야할때가 있다. insert 후 생성된 키를 다른 테이블에 외래키로 넣는다던지.. 그럴때는 selectKey 태그를 이용하여 키값을 리턴받으면 된다. SELECT MAX(product_no) FROM tb_test WHERE product_no = #{product_no} INSERT INTO tb_test ( product_nm, product_no, reg_date, reg_id, mod_date, mod_id ) VALUES ( #{product_nm}, #{product_no}, -- selectKey태그에서 keyProperty 변수명을 파라미터로 사용가능 now(), #{reg_id}, now(), #{mod_id} ); selectKey 태그..

개발/DB 2024.01.30

mariaDB mySql Like in 조건 같이쓰기 REGEXP

mariaDB를 사용중 like 조건도 제법많이사용하고 in조건도 제법 많이 사용하고있었다. 그런데 그 둘을 같이 사용해본적은 없어서 고민하던 중 열심히 찾아보니 REGEXP 라는것이 있어서 사용해봤다. 예를들어 쇼핑몰 상품 테이블에 여러 상품을 간단한 이름으로 검색하고싶을경우다 product no product_nm 1 너무나 맛있는 한우1++ 특수 부위 모둠 2 스노우크랩 대게섹션 3L 3 참치 순살 필렛 반마리 이런식으로 테이블이있다고 가정 후 "한우"와 "대게" 문자로 데이터를 뽑아내고싶은 경우에 SELECT * FROM product WHERE product_nm REGEXP '한우|대게' 이런식으로 사용하면 된다 문자사이에 | 를 넣어서 사용해주면된다.

개발/DB 2023.06.12

MariaDB 여러 row를 한줄로 출력

select * from friend name age 굥곰셔 65 김메달 29 이종협 12 ​ 여러 row를 한줄로 출력 GROUP_CONCAT(컬럼) select GROUP_CONCAT(name) from friend name 굥곰셔,김메달,이종협 ​ 기본으로 문자열 사이에 , 가 붙게됨 구분자를 변경하고 싶을때는 separator '구분자' 추가 select GROUP_CONCAT(name separator '|') from friend name 굥곰셔|김메달|이종협 ​ 그외 ​ 중복제거 시 컬럼 이름앞에 distinct ​ 문자열 정렬 하고싶으면 컬럼 뒤에 order by name

개발/DB 2023.04.24

mariadb Query cache 쿼리 캐시

쿼리 캐시 끄기 켜기 ​ 기본으로 켜져있는것 같음 ​ 캐시가 켜져있어서 쿼리 성능 테스트하려고 조회를하면 두번째 조회부터 쿼리속도가 빨라짐 ​ 쿼리 캐시 끄기 ​ 밑에 쿼리를 조회해보면 SHOW VARIABLES LIKE 'query_cache_type'; ​ ​ 켜져있는것을 확인 할 수 있음 ​ ​ 밑에 쿼리를 다시 입력하면 SET SESSION query_cache_type = OFF; ​ ​ 꺼진걸 확인 할 수 있다 .

개발/DB 2023.04.20