본문 바로가기
반응형

MySQL4

Docker를 이용한 MySQL 설치 방법 도커 환경에서 MySQL을 구동해보자. 간단하기 DB 연동 테스트를 할 때, 별도의 머신을 할당받아 MySQL을 설치하는 것보다 간단하게 도커를 이용해 MySQL을 설치하는게 편리 할 수 있다. 우선 도커는 설치되어 있다고 가정하겠다. 다음 명령어를 이용해 MySQL 도커 이미지를 가져온다. $ docker pull mysql이 명령을 실행하면 도커 허브에서 MySQL 최신 버전 이미지를 다운로드한다. (만약 특정 버전의 이미지를 다운로드하려면 'docker pull mysql:5.5' 같이 버전을 명시하면 된다.) $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql latest 990386cbd5c0 9 days ago 443MB My.. 2019. 5. 19.
[MySQL] 오라클(Oracle) Merge into 구문 따라하기 - 중복키 (Duplicate key) 처리 Primary Key 혹은 Unique Index가 생성되어 있는 테이블 데이터를 Insert 할 때, "Error Code: 1062. Duplicate entry '??' for key PRIMARY" 같은 에러를 자주 보게 된다. 테이블에 테이터를 Insert 하려는데 동일한 Key를 갖는 Row가 이미 테이블에 존재하는 경우 만나게 되는 에러다. 테이블에 데이터가 없으면 insert 하고 있으면 update 하는 동작이 필요한 경우가 있다. 이 때, select를 해보고 insert, update를 판단하는 동작으로 애플리케이션을 작성할 수도 있다. 최고의 시나리오는 다음과 같을 것이다. 하지만 select 이후 중복된 키의 존재 유무를 판단하고, insert 혹은 update를 수행하면 phan.. 2019. 1. 3.
[MySQL] 반올림과 버림 함수 - ROUND(), TRUNCATE() 쿼리를 작성 할 때 숫자 데이터를 다룰일이 많은데 실수를 다룰 때 가장 빈번하게 사용하는 기능이 반올림과 버림이다. MySQL 에서는 이 기능을 제공하기 위해 ROUND() 함수와 TRUNCATE() 함수를 제공한다. 1) ROUND() 함수반올림을 위한 Round 함수는 "ROUND( 숫자, 반올림 할 자리수)" 의 형태로 사용한다. 1234567891011121314SELECT ROUND(1234.56789) FROM DUAL-- 1234 SELECT ROUND(1234.56789 ,1) FROM DUAL-- 1234.6 SELECT ROUND(1234.56789 ,4) FROM DUAL-- 1234.5679 SELECT ROUND(1234.56789 ,-1) FROM DUAL-- 1230 SELEC.. 2018. 12. 13.
[MySQL] 백분위(Percentile), 랭크(Rank) 구하는 쿼리 RDBMS 제품마다 SQL 쿼리 사용법이 약간 다르다. 오라클 사용에 익숙해져 있다가 MySQL을 사용하게 되면서 당황하게 되는 쿼리 중 하나가 랭크(Rank)를 구하는 쿼리다. 오라클의 경우 다음과 같은 테이블이 있을 때 1234567891011create table t1(a number);​insert into t1 values(3);insert into t1 values(6);insert into t1 values(9);insert into t1 values(2);insert into t1 values(5);insert into t1 values(8);insert into t1 values(1);insert into t1 values(4);insert into t1 values(7);cs 테이블에 .. 2018. 12. 12.
반응형