본문 바로가기

Computer Science/Database6

Oracle | 오라클 클라우드 ATP Database 생성과 DBeaver로 연결하기 🦀 상황 (Context) 오라클 클라우드에서 ATP 데이터베이스를 생성했습니다. SQL Developer를 이용할 수도 있겠지만, 다양한 데이터베이스 툴로 사용하기 위해 DBeaver를 선택했습니다. M1 macOS Monterey에서 DBeaver로 연결하려고 합니다. DBeaver에서 [Test Connection] 버튼 클릭 시 다양한 에러가 발생했습니다. IO Error: could not resolve the connect identifier "%s" IO Error: Got minus one from a read call IO Error: Invalid connection string format, a valid format is: "host:port:sid" IO Error: Receive.. 2022. 1. 21.
MySQL | SUBSTRING_INDEX로 문자열 자르기 🍿 요구사항 (Requiredments) 기존 테이블에서 컬럼을 새로 추가하고, 하나의 컬럼을 기준으로 문자열을 2가지로 나누려고 합니다. 새로 추가한 컬럼을 마이그레이션 하려고 합니다. 🍑 해결방안 (Solution or Next step) SUBSTRING_INDEX 사용방법 SUBSTRING_INDEX(문자열, 구분자, 구분자 인덱스) 예시코드 SELECT column_name, SUBSTRING_INDEX(column_name, 'F', 1), SUBSTRING_INDEX(column_name, '_', -1) FROM table_name column_name: 해당 컬럼 명을 넣어주세요. table_name: 해당 테이블 명을 넣어주세요. 🥦 회고 (Retrospective) Java로 매번 s.. 2021. 12. 6.
MySQL | GROUP BY와 HAVING으로 컬럼 중복값 찾기 😏 요구사항 (Requiredments) 처음부터 테이블을 잘 만들어두면 좋겠지만, 시스템이나 서비스를 오랜 기간 운영하다 보면 컬럼을 변경할 일이 생길 수 있습니다. 유니크 인덱스(UNIQUE INDEX)는 컬럼에 중복된 값이 포함되어 있으면 생성할 수 없습니다. 이번에 컬럼을 변경하면서, 유니크 인덱스를 걸어두어도 괜찮을지 고민하던 차에 기존 데이터에 중복값이 있는지 확인하려고 합니다. 😚 해결방안 (Solution or Next step) 저의 경우에는 찾고자 하는 조건 컬럼이 3개여서 다음과 같이 사용했습니다. SELECT a_column, b_column, c_column, count(1) AS cnt FROM table_name GROUP BY a_column, b_column, c_colum.. 2021. 12. 5.
01장 소개 01장 소개 1.1 MySQL 소개 지금 사용중인 MySQL은 오픈소스지만, 처음에는 오픈소스가 아니었음 MySQL의 역사 1979년 스웨덴의 TcX라는 회사의 터미널 인터페이스 라이브러리인 UNIREG로부터 시작됨 1994년 UNIREG가 웹 시스템의 데이터베이스로 사용하기 시작해서 MySQL 버전 1.0이 완성됐지만 TcX에서만 사용됨 1996년 일반인에게 공개됨 2000년 TcX에서 MySQL를 개발한 중심인물(몬티와 데이빗)이 MySQL AB라는 회사로 독립, FPL(Free Public License) 라이센스 정책으로 바뀜 2006년 현재와 같은 2가지 라이센스 정책으로 운영됨 이후 썬마이크로시스템즈에 인수되었다가 다시 오라클로 인수됨 1.2 왜 MySQL인가? MySQL과 오라클을 비교해 봤.. 2021. 10. 8.
목차 - 도서 『Real MySQL 8.0 1권』 요약 01장 소개 01장 소개 01장 소개 1.1 MySQL 소개 지금 사용중인 MySQL은 오픈소스지만, 처음에는 오픈소스가 아니었음 MySQL의 역사 1979년 스웨덴의 TcX라는 회사의 터미널 인터페이스 라이브러리인 UNIREG로부터 시작됨 1994년 yian.tistory.com 1.1 MySQL 소개 1.2 왜 MySQL인가? 02장 설치와 설정 2.1 MySQL 서버 설치 2.2 MySQL 서버의 시작과 종료 2.3 MySQL 서버 업그레이드 2.4 서버 설정 03장 사용자 및 권한 3.1 사용자 식별 3.2 사용자 계정 관리 3.3 비밀번호 관리 3.4 권한(Privilege) 3.5 역할(Role) 04장 아키텍처 4.1 MySQL 엔진 아키텍처 4.2 InnoDB 스토리지 엔진 아키텍처 4.3.. 2021. 10. 8.
MySQL/MyBatis | 동적 쿼리(Dynamic Query) 사용하기 🍰 요구사항 (Requirements) A라는 서비스에 해당하는 테이블들을 조인하여 조회하는 기능에 사용 중입니다. 추후 공통화를 위해 B, C 서비스도 추가될 예정입니다. A, B, C 서비스 모두 하나의 쿼리에서 작업할 수 있도록 공통화 작업을 해야 합니다. 테이블은 필수로 사용되는 all_hist, 각 서비스에 해당하는 a_request, a_response, b_request, b_response, c_request, c_response가 있다고 가정합니다. 🏰 해결방법 (Solution or Next step) DTO에 flag가 되는 변수가 있다면 SQL문 FROM 절에 해당 변수를 체크하는 조건을 추가해주면 됩니다. ReqDTO에 flag 역할을 하는 type이라는 변수가 있다고 가정합니다... 2021. 10. 2.