mysql
  • Mysql 이미지 설치 docker pull mysql docker-compose 파일 생성 version: "3" services: db: # 서비스 명 image: mysql:latest # 사용할 이미지 container_name: test-mysql # 컨테이너명 설정 ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: "root" # roor 계정 패스워드 설정 command: # 명령어 - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci volumes: # 다렉토리 마운트 설정 - /데이터 저장할 local 폴더 경로:/var/lib/mysql docker-compose..

    Read more
  • centos7 설치 yum -y install http://dev.mysql.com/get/> mysql57-community-release-el7-11.noarch.rpm yum -y install mysql-community-server systemctl start mysqld systemctl enable mysqld mysql 최초 접속시, 임시 비밀번호로 설정되어있기 때문에 root 계정 비밀번호 찾아야한다. cd /var/log/ vi mysqld.log 로그인 이후 임시비밀번호 바꿔줘야한다. alter user ‘root’@’localhost’ identified by ‘HM2Vw?BX1KNb’; flush privileges; use 데이터베이스명; update user set authen..

    Read more
  • 24시간(하루) 이내에 업로드된 데이터 찾기 SELECT COUNT(*) FROM test WHERE created_date > DATE_ADD(now(), INTERVAL -1 DAY); 작성날짜 컬럼 created_date 일때, DATE_ADD(now(), INTERVAL -1 DAY)를 사용하면된다.

    Read more
  • ORDER BY - 정렬 ORDER BY idx DESC LIMIT #{offset}, #{limit} DESC : 데이터 내림차순 (idx가 5-4-3-2-1 순으로 내림차순되어 조회된다) ASC : 데이터 오름차순 (idx가 1-2-3-4-5 순으로 오름차순되어 조회된다) -> DESC를 쓰지 않으면 default 값으로 ASC(오름차순)되어 정렬된다. LIMIT - 개수제한 (페이징) Mysql에서는 LIMIT을 사용하여 쉽게 페이징을 구현할 수 있다. LIMIT #{offset], #{limit} 예를들어, offset이 0이고 limit이 10일때, 0번째 데이터부터 10개를 조회한다는 의미이다. 따라서 페이징의 기능을 구현해보고자할때 limit값이 10일때에 하나의 페이지에서 10개씩의 게시글..

    Read more
  • mysql에서 검색어를 찾는 select 쿼리를 알아보자 SELECT col1, col2 FROM text WHERE title LIKE CONCAT('%', #{searchText}, '%') 위 쿼리는 검색어 변수 searchText가 null이 아니고, 빈문자열("")이 아닐때 검색어 searchText를 포함하는 제목을 가진 게시글을 찾는다. if test 조건문을 사용하여 검색어가 입력되어있는지, 아닌지 확인하고 검색어가 입력되어있다면 mysql에서는 LIKE CONCAT 을 통해 해당 검색어를 포함한 데이터를 찾을 수 있다. '%'를 searchText의 앞과 뒤에 모두 적어준 이유는 아래와 같다. searchText = "게시글" 일때, AA게시글과 게시글AA를 모두 찾기위함이다.

    Read more
  • case~when~then 문 CASE col1 WHEN 'a' THEN '햄버거' WHEN 'b' THEN '피자' END AS food CASE~THEN~WHEN 문은 위 예제 한줄로만 봐도 충분히 이해가 가능하다. CASE 컬럼이 WHEN 해당 값이라면, THEN 해당 값으로 변경한다. CASE ~ WHEN ~ THEN ~ WHEN ~ THEN ~ ELSE '' END -> ELSE를 사용하여 나머지 값들도 설정해줄수 있다. 또는, CASE WHEN col1 = 'a' THEN '햄버거' 라고도 할 수 있다.

    Read more
  • mybatis 쿼리문 실행결과 컬럼(열) 순서를 고정 SELECT col1, col2, col3 FROM test 위 SELECT 해온 쿼리의 결과를 리스트로 받아올때, 리스트의 순서를 col1, col2, col3로 고정시키고 싶은 경우가 있다. 하지만 hashMap을 resultType으로 받는 위 결과를 보면 SELECT 컬럼 순서대로 조회되지 않는다. SELECT col1, col2, col3 FROM test 결과타입 resultType을 "java.util.LinkedHashMap" 으로 변경하면, SELECT 선언 컬럼 순서대로 데이터를 담을 수 있다.

    Read more
  • trim 사용하는 방법 UPDATE examTable exam1 = #{exam1}, exam2 = #{exam2}, WHERE idx = #{idx} mybatis에서 update 쿼리문을 사용하다보면 위처럼 조건문만 사용하게 되는 경우가 생긴다. 그때 콤마(,) 를 어떻게 사용해야 sql문 error가 발생하지 않을지 고민하게 된다. 그럴때는 위 예제처럼 trim 이라는것을 사용하자. +댓글내용 참고 (gyeongtae kim님) - prifix = tirm 안에있는 모든 문자열의 앞에 붙여줄 문자열을 입력하는 곳 - suffixOverrides = trim 안에있는 모든 문자열의 조건문을 판별해서 입력된 문자열의 맨 끝에서부터 찾아서 지워줄 문자열을 입력하는 곳 Oracle 에서 NVL 함수 사용하..

    Read more
  • Copyright 2024. GRAVITY all rights reserved