MySQL

Test

[Test] Testcontainers를 사용한 DB 테스트

1. TestContainers란?예전에 프로젝트를 할 때 멱등성 있는 테스트를 구성하기 위해 테스트 DB를 따로 띄워 테스트를 실행했던 적이 있습니다. 그 때는 Testcontainers의 존재를 몰랐기에 Docker Compose로 테스트 DB를 띄워 테스트를 실행해줬습니다. 테스트 DB 컨테이너를 계속 띄워 놓기엔 때문에 컴퓨터 리소스 낭비도 심했기 때문에 통합 테스트를 실행해야할 때마다 테스트 DB 컨테이너를 띄워주고 테스트가 종료되면 컨테이너를 내리는 식으로 진행되었는데 정말 귀찮은 작업이었습니다. 이런 작업을 자동화해주는 Testcontainers입니다. 똑같이 Docker 환경을 사용하며 테스트가 실행될 때 실제 DB와 같이 돌아가는 DB 컨테이너를 띄워주고, 테스트가 종료되면 자동으로 컨테..

MySQL/Real MySQL

[Real MySQL] MySQL 역사와 버전 비교 (MySQL 8.0 vs 5.7)

MySQL MySQL의 역사 1979년 스웨덴의 TcX라는 회사의 터미널 인터페이스 라이브러리인 UNIREG로부터 시작되었다. UNIREG는 1994년 웹 시스템의 데이터베이스로 사용하기 시작하면서 MySQL 1.0이 완성되었고, TcX 사내에서만 사용되다가, 1996년에 오픈소스로 공개됐다. 2000년 몬티와 데이빗이 MySQL AB라는 회사로 독립함과 동시에 FPL(Free Public License) 라이선스 정책으로 바뀌고 2006년 최종적으로 현재와 같은 두 가지 라이선스 정책(엔터프라이즈 에디션, 커뮤티니 에디션)을 취하게 되었다. 이후 썬마이크로시스템즈에 인수되었고, 현재는 오라클에 인수되었지만 특별한 라이선스 정책의 변화는 없었다고 한다. 5.x 버전과 8.x 버전 MySQL 5.5 ~ 5..

MySQL/기초

DISTINCT, GROUP BY 로 중복 제거 하기 [MySQL]

1. DISTINCT와 GROUP BY 이 키워드들은 주로 SELECT와 함께 사용된다. MySQL 에서는 중복된 내용을 단 한 번만 출력하고 싶다면 DISTINCT 중복된 내용끼리 묶고 싶다면 GROUP BY 를 사용하면 된다! 그렇다면 예시를 통해 이 두 키워드를 알아가보자. 2. 오늘의 예시 오늘의 테이블은 물품판매기록서이다. - 테이블 생성 CREATE TABLE selling( sequence INT AUTO_INCREMENT PRIMARY KEY, # 판매 순서 product VARCHAR(20), # 품목 price INT, # 가격(원 단위) customer VARCHAR(20), # 고객 이름 numOfSales INT # 판매 개수 ); - 내용 삽입 INSERT INTO selling..

MySQL/기초

MySQL 문자열 함수 [MySQL]

1. MySQL 문자열 함수의 종류 많이 사용하는 문자열 함수의 종류는 아래와 같다. 함수 이름 설명 CONCAT(문자열, 문자열) 문자열을 합쳐준다. SUBSTRING(문자열, 시작, 끝) 문자열을 기준에 따라 나눠준다. REPLACE(문자열, target, replace) 문자열 중의 target에 해당하는 부분을 replace로 바꾼다. REVERSE(문자열) 문자열을 거꾸로 뒤집는다. CHAR_LENGTH(문자열) 문자열의 길이를 반환한다.(공백도 포함) UPPER(문자열) 문자열을 대문자로 전부 변환하여 반환한다. LOWER(문자열) 문자열을 소문자로 전부 변환하여 반환한다. 이제 예시를 통해 하나씩 알아가보도록 하자. 2. 예시로 알아보는 MySQL 문자열 - 오늘의 예시 테이블: school..

MySQL/기초

DBMS의 기본?! MySQL CRUD [MySQL]

1. CRUD란? 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create, Read, Update, Delete의 앞글자를 따서 CRUD라고 한다. 사용자 인터페이스가 기본적으로 가지고 있어야하는 기능을 의미하기도 한다. MySQL을 사용하려면 CRUD를 실행할 수 있는 기본적인 명령어를 알아야한다. CRUD 명칭 기능 설명 SQL Create 만들기, 생성 INSERT Read 읽기 SELECT Update 업데이트, 변경 UPDATE .. SET Delete 삭제 DELETE 그렇다면 차근차근 알아가보도록하자! - 기본 전제 저번 포스트에서 만들었던 테이블인 student로 실습하겠다. 만약 테이블이 없거나 삭제된 상태라면 아래의 코드를 그대로 입력해주면 되겠다. CREATE T..

MySQL/기초

DB의 틀을 만들어보자 - 데이터베이스 및 테이블 생성 [MySQL]

데이터베이스를 생각하면 아마도 아래와 같은 표를 많이 생각할 것이다. 이름 전화번호 주소 부서 짱구 000-0000-0000 서울시 총무부 철수 000-0000-0000 인천시 인사부 미영 000-0000-0000 서울시 영업부 사실 표(테이블)는 DB의 일부분이다. DB를 생성할 줄 알아야 테이블도 만들 수 있고 테이블을 만들어야 DBMS의 기능을 본격적으로 사용할 수 있다. 그렇다면 이제부터 데이터베이스 및 테이블을 생성하고 삭제, 확인하는 방법에 대해서 알아보도록 하자!! 1. 데이터베이스 생성 및 확인하기 CREATE DATABASE 데이터베이스이름; 데이터베이스를 생성하는 명령어이다. -- ; 세미콜론 필수!! 대소문자 구분없이 사용해도 무방하다 (명령어 소문자로 작성가능!!) show data..

gakko
'MySQL' 태그의 글 목록