MySQL

ALL

MySQL 문자열 숫자 ORDER BY 정렬 방법

MySQL에서 데이터를 정렬하고 싶은 경우ORDER BY를 사용합니다. ORDER BY를 사용해 숫자를 정렬하는 경우에는, 작은 숫자부터 큰 숫자인 오름 차순 또는 큰 숫자부터 작은 숫자인 내림 차순으로 정렬이 됩니다. 하지만 문자열 형태인 숫자를 정렬하는 경우에는 원하는 형태로 출력이 안 되는 경우도 있습니다. 문자열 숫자를 정렬하는 예제와 해결 방법을 살펴보겠습니다. 샘플 데이터 테스트용 테이블을 생성하겠습니다. CREATE TABLE test_sort ( no int(11) NOT NULL, inttext text, intva...
ALL

MySQL 값 비교 NULLIF 함수 사용 방법

MySQL에서 값을 비교해 처리를 하고 싶은 경우IF문이나CASE문을 사용할 수 있습니다. 프로시저 내에서 처리를 하는 경우라면IF문을 사용하는 경우가 많고, 쿼리에서 처리하고 싶은 경우에는CASE가 많습니다. 간단한 처리일 경우에는NULLIF()함수를 사용해 값을 비교하는 처리를 작성할 수 있습니다. NULLIF함수의 사용 방법을 먼저 보겠습니다. NULLIF(값1, 값2) 값1 - 비교대상1 값2 - 비교대상2 반환값 - NULL 또는 값1 NULLIF함수에 파라미터를 2개 지정합니다. 파라미터로 지정한 두 값이 같으면NULL을...
ALL

MySQL NULL 값 변환 IFNULL 사용 방법

MySQL에서 컬럼 값이NULL인 경우가 존재합니다. NULL인 값을 그대로 사용하는 경우도 있지만 다른 값으로 변환해 사용하고 싶은 경우가 있습니다. 오라클에서는NVL함수가 존재합니다. NVL함수는 값이NULL인 경우 원하는 값으로 변경해주는 함수입니다. MySQL에서도 동일한 함수가 있습니다. IFNULL함수입니다. 값이NULL인 경우 지정한 값으로 변환해줍니다. 사용 방법을 보겠습니다. IFNULL(값, 변환 값) 값에는 컬럼을 지정하거나 변수 또는 값을 집적 지정할 수 있습니다. 값이NULL이 아닌 경우에는 입력값을 그대로 ...
ALL

MySQL 월 마지막일 구하기 LAST_DAY 사용 방법

입력한 월의 마지막 날짜를 알고 싶은 경우가 있습니다. 대부분의 월의 마지막 날은 30일 또는 31일입니다. 2월은 28일 또는 29일이 되는 경우도 있습니다. 위의 패턴으로 보면 월의 마지막 날은 28일부터 31일이 됩니다. 마지막 날을 취득하고 싶은 경우if문이나CASE문으로 3월은 31일 4월은 30일등 지정하는 것은 매우 번거롭습니다. 그리고 윤달이 생기는 2월을 계산하기 위해서는 연도까지 계산해야 합니다. 이러한 복잡한 것을 해결해 주는 것이LAST_DAY함수입니다. LAST_DAY함수에 날짜 형태로 값을 입력하면 입력한 ...
ALL

MySQL 공백 또는 NULL 정렬 하기

데이터를 정렬하기 위해ORDER BY를사용합니다. 정렬하려는 컬럼에 공백 또는NULL값이 있는 경우에는ASC또는DESC로 정렬 방식을 지정해도 원하는 형태로 정렬이 안 되는 경우가 있습니다. 컬럼에 공백 또는NULL이 포함된 컬럼을 정렬하는 방법을 알아보겠습니다. 공백 또는 NULL 정렬 아래와 같은 데이터가 있다고 가정하겠습니다. id name age type 1 홍길동 21 A 2 김철수 27 3 이영희 22 A 4 정대한 26 (NULL) 5 안민국 23 F 6 지서울 25 E 7 조경긱 24 R 컬럼type에는 공백과NULL...
ALL

MySQL 날짜로 WHERE 조건 검색 하기

SQL 검색 조건절인WHERE에서 날짜를 비교하는 방법을 알아보겠습니다. 방법을 알아보기 전에 샘플 테이블과 데이터는 아래처럼 있다는 가정하게 설명을 하도록 하겠습니다. test +------+---------------------+ | id | date | +------+---------------------+ | 1 | 2022-07-26 14:00:00 | | 2 | 2022-07-27 13:00:00 | | 3 | 2022-07-28 14:00:00 | | 4 | 2022-07-29 15:00:00 | | 5 | 2022-0...
ALL

MySQL 시간, 날짜 계산하기 ADDTIME, SUBTIME 사용 방법

MySQL에서 날짜 계산을 하는 방법을 알아보겠습니다. 날짜 계산을 하기 위해서는 함수를 사용합니다. ADDTIME - 시간 더하기 SUBTIME - 단위 지정 더하기 ADDTIME - 시간 빼기 DATE_SUB - 단위 지정 빼기 이번에 알아볼 함수들은 기준 시간에서 지정한 시간을 더하거나 빼는 처리를 하는 함수입니다. 두 개의 시간의 차이를 계산하는 방법을 아래를 참조해주세요. ADDTIME 시간을 더하는 처리를 하기 위해서는ADDTIME함수를 사용합니다. ADDTIME(기준 시간, 더하고 싶은 시간) 첫 번째 파라미터에는 기준...
ALL

MySQL 날짜, 시간 계산 DATEDIFF, TIMEDIFF 사용 방법

MySQL에서 날짜 함수를 사용해 날짜 또는 시간 게산을 하는 방법을 알아보겠습니다. 날짜와 시간 계산에 관련된 함수가 어떤 것이 있는지 먼저 간단히 보겠습니다. DATEDIFF() - 두 기간 사이의 일수 계산 TIMEDIFF() - 두 기간 사이의 시간 계산 PERIOD_DIFF() - 두 기간 사이의 개월 수 계산 TIMESTAMPDIFF() - 두 기간 사이의 시간 계산 DATEDIFF 두 기간 사이의 일수를 계산하는 함수로DATEDIFF가 있습니다. DATEDIFF(expr, expr2) expr - 종료일 expr2 - ...
ALL

MySQL DB 백업 용량 줄이기 압축 방법

MySQL을 백업하는 경우 DB 용량이 큰 경우가 있습니다. 백업 파일 용량이 크게 되는 경우 FTP나 SCP로 파일을 전송할 때 시간이 많이 걸립니다. 또는 백업하려는 환경에 용량이 많이 남아있지 않은 경우 백업 파일을 생성하지 못하기도 합니다. gz을 사용해 백업하고 싶은 스키마를 압축 파일 형태로 백업할 수 있습니다. gzip 인스톨 gzip이 없는 경우에는 먼저 인스톨해주시면 됩니다. # apt-get install gzip mysqldump 압축 백업 DB를 백업하기 위해서는 mysqldump 명령어를 사용합니다. mysq...