RDBS 39

[MySQL]TRIM을 사용하여 특정 위치의 공백과 문자 제거(LEADING, TRAILING)

MySQL의 문자열을 처리하기 위해 제공되는 메서드 TRIM에 대해 알아보도록 하겠습니다. Java에서의 trim과 유사하게 사용됩니다. 2022.12.13 - [Languages/Java] - [JAVA] 문자열 공백 제거(Trim, replace, strip) [JAVA] 문자열 공백 제거(Trim, replace, strip) ⚡️trim 프로그래밍하다 보면 문자열에 공백이 같이 들어오는 경우가 있습니다. 이러한 상황에서 공백을 제거할 방법에는 Trim 함수가 있습니다. String str = " 오늘은 날씨가 너무 좋다. " String trimS mooonstar.tistory.com 📌TRIM의 기본 구조 SELECT TRIM(' Mooonstar '); # -> 'Mooonstar' 📌TRI..

RDBS/MYSQL 2023.04.07

[MySQL]DATE_FORMAT을 이용한 날짜(일, 월, 년)별 통계(없는 데이터는 0처리 포함)

MySQL에서는 일, 월, 년도 별로 집계를 해야 하는 상황이 발생합니다. 하지만 GROUP BY를 사용하여 집계를 하는 경우에 데이터가 존재하지 않는다면 그 기간에 데이터를 집계할 수 없습니다. 이번 포스팅에서는 없는 데이터의 포함하는 쿼리와 포함하지 않는 쿼리 두 가지 방법을 알아보도록 하겠습니다.  📌일별 통계 SELECT DATE(Date) AS DATE , COUNT(id) FROM Table GROUP BY DATE; 📌월별 통계#DATE_FORMAT을 사용하여 월별 조회SELECT DATE_FORMAT(Date, '%Y-%m') AS Month , COUNT(id) FROM Table GROUP BY Month; 📌연별 통계#DATE_FORMAT을 사용하여..

RDBS/MYSQL 2023.04.07

[MySQL]특정 범위 구하기(BETWEEN 구문)

DB(Database)에서 특정 데이터를 조회하는 경우 A 시점부터 B 시점 사이의 데이터를 조회하거나 어떠한 범위 안에 속에 있는 데이터를 조회해야 하는 경우가 있습니다. 이러한 상황에서 사용하는 구문이 바로 BETWEEN 구문입니다. BETWEEN 구문의 문법 형식은 다음과 같습니다. 📌BETWEEN구문 기본 형식 SELECT * FROM TABLE_NAME -- 테이블명 WHERE COLUMN_NAME BETWEEN START AND FISNISH #START : 시작지점 #FINISH : 종료지점 📌BETWEEN구문 사용 예시 특정 범위에 대한 조회 SELECT * FROM MEMBER --MEMBER:테이블명 WHERE MEMBER_AGE BETWEEN 15 AND 25 --멤버의 나이가 15~..

RDBS/MYSQL 2023.04.04

[MySQL]중복 데이터를 관리하는 다양한 방법(INSERT IGNORE, ON DUPLICATED UPDATE, REPLACE INTO)

📌중복 데이터를 관리하는 다양한 방법 신규 데이터의 INSERT시 Key로 지정된 값이 중복되는 데이터가 생기는 경우가 있다. 이러한 경우에 MySQL에서는 중복 데이터를 관리하는 세 가지 방법이 있다. 세 가지 방법은 다음과 같다. INSERT IGNORE ON DUPLICATED UPDATE REPLACE INTO 위의 세 가지 방법을 사용하여 중복 데이터를 관리하는 방법에 대해 자세히 알아보자. 📌테이블 생성 CREATE TABLE duplicatedTable ( id VARCHAR(25), name VARCHAR(20), PRIMARY KEY (id) ); 🪓primary Key를 id로 지정한 후 key가 중복되는 데이터를 삽입해보자. 📌key가 중복되는 데이터 삽입 INSERT INTO dup..

RDBS/MYSQL 2023.03.27

[MySQL]Like문법 - 특정 문자열 검색하기

MYSQL에서 데이터를 조회할 경우 어떠한 칼럼의 특정 문자열이 포함된 데이터만 추출하는 경우가 있습니다. 이러한 경우에 사용하는 것이 바로 LIKE연산자입니다. LIKE 연산자를 사용할 때는 MYSQL이 제공해 주는 5가지 와일드카드를 이용합니다. Like문은 어떤 구문인가? % : 0개 이상의 문자를 나타냄 _ : 단일 문자를 나타냄 [] : 대괄호 내의 모든 단일 문자를 나타냄 ^ : 대괄호에 없는 문자를 나타냄 - : 문자의 범위를 나타냄 MySQL의 LIKE문은 위와 같은 와일드카드를 사용하여 특정 문자열을 포함하고 있는지 확인합니다. 아래 예제를 보며 다시 설명하도록 하겠습니다. NUM NUM_NAME NUM_AGE 1 문AB 25 2 차문C 23 3 김DE 21 4 박FG 31 5 최HI 2..

RDBS/MYSQL 2023.02.13

[MySQL]CASE문의 기본 사용법 및 사용 시 주의 사항

📌CASE문의 기본 사용법 및 사용 시 주의 사항 MySQL을 사용하고 쿼리(Query) 구문을 작성하면서 때에 따라 다른 결과를 출력해야 하는 상황이 발생한다. 이러한 상황에서 자주 사용하는 방법이 CASE문이다. MYSQL 4.0 이상부터 CASE 함수를 지원하고 있다. 프로그래밍 언어에서 사용하는 if 문이나 switch 문과 비슷하다고 생각하면 이해하기가 쉬울 것이다. 또한 쿼리(Query)에서 처리하지 않고, 다른 레벨에서 처리도 가능하지만, 알아두고 적재적소에 사용하는 것 이 중요하다. 📌CASE문의 기본 형식 CASE WHEN 1번조건 THEN 반환값1 WHEN 2번조건 THEN 반환값2 ELSE '반환값3' END ⛔기본 구조는 다음과 같다. 조회할 데이터 Row마다 해당하는 조건에 부합하..

RDBS/MYSQL 2023.02.06

[MySQL]그룹화 하고 조건 부여하기(Group By절, Having절)

📌그룹화 하고 조건 부여하기(Group By절, Having절) 실무에서 가장 많이 사용되고, 가장 이해하기 어려운 GROUP BY에 대해 알아보도록 하겠습니다. 이 구문은 실제 데이터를 조회하면서 데이터를 집계해야 할 상황이 생깁니다. 이러한 상황에서 GROUP BY로 특정 컬럼에 대한 그룹화를 할 수 있습니다. 더 나아가 집계 함수 및 조건(Having)을 부여하여 원하는 데이터의 추출이 가능합니다. 📌GROUP BY의 기몬 문법 및 예제 SELECT 컬럼 FROM 테이블 GROUP BY 그룹화할 컬럼; member_id member_age member_gender member_name 1 20 남성 문OO 2 20 남성 김OO 3 30 여성 김OO 4 40 여성 김OO 5 30 여성 차OO 6 20..

RDBS/MYSQL 2023.02.03

[MYSQL]문자열 여러 개 합치기 - CONCAT(), CONCAT_WS()

문자열 여러 개 합치기 - CONCAT( ), CONCAT_WS( ) 데이터 조회 시 여러 컬럼에서 조회되는 데이터를 하나의 문자열로 출력해야 하는 경우가 있습니다. 이러한 상황에서 CONCAT(), CONCAT_WS()함수를 사용하여 간단하게 문자열을 합칠 수 있습니다. 기본 사용법은 다음과 같습니다. CONCAT( ) - 기본 문법 -- 기본 문법 SELECT CONCAT(문자A, 문자B, 문자C ....) FROM 테이블 CONCAT( ) - 예제 SELECT CONCAT('Moonstar', ' ', 'Tistory') FROM DUAL; -- 결과 -- Moonstar Tistory SELECT CONCAT('Moonstar', NULL, 'Tistory') FROM DUAL; -- 결과 -- ..

RDBS/MYSQL 2023.01.16

[MYSQL]ORDER BY절의 다중 정렬

ORDER BY절의 다중 정렬 MySQL에서는 ORDER BY절을 사용하여 정렬 순서를 지정할 수 있다. ASC(오름차순) 및 DESC(내림차순)을 사용하며, 기본적인 문법은 다음과 같다. SELECT * FROM 테이블 ORDER BY SAL DESC(내림차순) ASC(오름차순) ORDER BY절 예제 ID NAME SAL(만원) 101 문OO 3000 202 차OO 4300 203 채OO 5200 301 박OO 4400 ORDER BY절 내림차순 SELECT ID , NAME , SAL FROM MEMBER -- 내림차순 ORDER BY SAL DESC ID NAME SAL(만원) 203 채OO 5200 301 박OO 4400 202 차OO 4300 101 문OO 3000 ORDER BY절 오름차순 ..

RDBS/MYSQL 2023.01.16

[MYSQL]REGEXP(정규 표현식) : 특정 문자열 처리

정규 표현식(Regular Expression) 프로그래밍 언어에서 정규 표현식은 문자열을 처리하는 방법 중의 하나로 특정한 패턴의 문자를 '검색'하거나 '치환'하는 과정을 간편하게 처리해주는 형식 언어이다. 이번 포스팅에서는 MySQL의 정규표현식과 정규식을 사용한 데이터 검색에 대해 알아보겠습니다. 정규 표현식(Regular Expression) - MySQL문법 패턴 의미 . 문자 한 개 ^ 문자열의 처음 $ 문자열의 끝 * 앞에 나온 문자의 n개 이상 반복 [] 괄호 안에 문자열 일치 {} 반복 | 또는 [A-z], [:alpha:] 대,소문자열을 찾음 [0-9], [:digit:] 숫자인 문자열 찾음 [^패턴] 임의의 패턴이 아닌 것을 찾음 위의 패턴들은 정규식에 자주 등장하는 패턴이다. 물론 ..

RDBS/MYSQL 2023.01.13