본문 바로가기

반응형
   

Programming/MySQL

(4)
MySql 정규 표현식으로 HTML 제거 후 Mybatis 적용하기 MySql 정규 표현식으로 HTML 제거 후 Mybatis 적용하기 개인적으로 만들고 있는 사이트에 DB에 저장된 글자 중 HTML 문자를 제거하고 출력하는 일은 정규 표현식을 활용해 간단히 처리할 수 있으며 관련 자료도 많이 있습니다. 간단히 더미 테이블을 사용해 테스트 용도로 확인해 보시면 HTML 태그가 삭제된 데이터만 출력됩니다. /* 정교 표현식을 사용해 My SQL HTML 데이터 제거후 쿼리로 보내주기 */ SELECT '2행3열 테이블123456' AS data, REGEXP_REPLACE('2행3열 테이블123456', ';]*>', '') AS html_del FROM DUAL; 위처럼 간단히 쿼리문에서 HTML 문자를 제거할 수 있지만 스프링 환경에 Mybatis를 이용해 데이터를 출..
MariaDB for문 프로시저 만들기 + 원하는 갯수만큼 인서트 되도록 MariaDB for 문 프로시저 만들기 + 원하는 개수만큼 인서트되도록 개인적으로 테스트 용도로 MariaDB를 사용해 보고 있는데 테스트 용도나 디버깅을 위해 임시 데이터를 테이블에 인서트 해야 하는 경우가 종종 생기는 것 같습니다. 프로그래밍 언어 DB 연결 및 제어문을 활용해 테스트 데이터를 넣어도 되지만 DB가 연결되어 있다면 SQL Query문 반복을 활용해 데이터를 넣는 게 더 간편한 것 같습니다. 프로시져만 작성하려고 했으나 데이터베이스, 테이블, 프로시져까지 생성하는 구문을 간단히 정리해 봤습니다. 제대로 규칙을 지키지 않고 작성한 쿼리문을 실행하게 되면 에러 문구가 애매하게 표시되는 부분이 있어 어디가 문제인지 찾느라 시간을 조금 허비한 기억에 개인적으로 이후에 활용할 목적도 있습니다...
MySQL CASE WHEN GROUP BY(원하는 데이타끼리 그룹핑 하기) MySQL CASE WHEN GROUP BY(원하는 데이타끼리 그룹핑 하기) 얼마 전 업무를 보는 중 쿼리문을 만들어야 할 일이 생겼습니다. 중간에 기능이 추가되거나 시간이 바빠서 테이블을 만들다 보면 후에 생길 상황을 대비해 테이블을 만드는 것은 쉬운 일 아닌 것 같습니다. 그러다 보면 현재 운영 중인 DB 또는 넘겨받아 처리해야 하는 데이터를 구분하기 위한 필드가 부족한 경우가 있습니다. 결론은 제가 원하는 데이터들만 그룹으로 묶어 COUNT 합계를 알아보고 싶었습니다. 아래 이미지와 같이 데이터가 있을 때 기존에는 간단히 job 필드 항목을 GROUP BY로 지정하면 직업별로 COUNT를 내는 건 어렵지 않습니다. 이런 식으로 간단히 쿼리를 작성하면 직업별 인원이 몇 명인지 간단히 확인할 수 있습니..
MySQL character set 변경 방법 UTF-8 MySQL character set 변경 방법 UTF-8MySQL을 윈도우 환경에 설치하고 이것저것 테스트를 하고 있었습니다. 그런데 실제 데이터베이스를 인서트 하려고 보니 한글이 자꾸 물음표로 나오더군요. 그래서 MySQL Workbench에서 상태를 확인해보니 character set이 latin1로 세팅이 되어 있었습니다. 아마 예전에 MySQL을 설치 할때 캐릭터 셋을 제대로 설정하지 않은 것 같았습니다. 나름대로 정보도 많이 찾아보고 MYSQL 버전마다 모두 방법이 달라서 시간이 꽤 걸렸습니다. 먼저 MYSQL의 캐릭터 셋 확인하기 위해서는 쿼리 명령어로도 가능합니다. 캐릭터 셋을 latin1 에서 utf8로 변경하여 전 utf8로 나오는데 대부분 latin1이나 다른 거로 돼 있으실 겁니다. ..

반응형