본문 바로가기

IT/Mysql & MariaDB

(14)
[Mysql] CASE WHEN Function(다중 조건문) 사용 방법 CASE WHEN Function은 다중 조건문을 사용하고 싶을 때, 사용하는 함수입니다. SELECT CASE WHEN a.view_count > 50 THEN 'comment 1' WHEN a.view_count = 50 THEN 'comment 2' ELSE 'else comment' END FROM board a; CASE 문은 WHEN의 조건을 순차적으로 체크하고 조건이 충족되면 THEN에 명시된 값을 반환합니다. 모든 조건이 만족되지 않으면 ELSE 값을 반환합니다. ELSE 부분이 없고 조건이 참이 아니면 NULL 값을 반환합니다.
[Mysql] 문자열 치환 함수 replace 1. Replace 함수란? 특정 문자열을 원하는 문자열로 변환하는 함수이다. replace(컬럼명, '기존문자열', '변경문자열') 2. 사용 방법 1) select replace함수 실행 결과 추출하기 SELECT replace(url, 'http://' ,'https://') FROM file_info; 2) update 'http://' 문자열이 포함된 컬럼을 'https://'로 변경 UPDATE file_info SET url = replace(url, 'http://' ,'https://');
[Mysql] ON DUPLICATE KEY UPDATE ... 1. ON DUPLICATE KEY UPDATE 데이터 삽입 시, PRIMERY KEY나 UNIQUE KEY가 중복되었을 경우 지정한 데이터만 UPDATE하는 명령어를 의미한다. (중복된 키가 없을 경우 INSERT 로직을 수행한다.) 1) member 테이블 생성 CREATE TABLE member ( id INT AUTO_INCREMENT primary KEY, NAME VARCHAR(50) UNIQUE KEY, price INT NOT NULL DEFAULT 0, cnt INT NOT NULL DEFAULT 0 ); 2) 데이터 삽입 INSERT INTO member (NAME, price, cnt) VALUES ('kim', 1000, 0) ON DUPLICATE KEY UPDATE price =..
[Mysql] GROUP_CONCAT 사용 방법 1. GROUP_CONCAT 명령어 SELECT의 결과로 나온 여러 행의 특정 컬럼을 한줄로 출력할 때 사용한다. (NULL 값은 제외된다.) 2. 사용 방법 GROUP_CONCAT([DISTINCT] [expr, column] [ORDER BY column DESC] [SEPARATOR '구분자']) 3. 사용 예제 1) member 테이블 CREATE TABLE `member` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `NAME` VARCHAR(30) NULL DEFAULT NULL `age` INT(11) NULL DEFAULT NULL, PRIMARY KEY (`id`) ) 2) member 데이터 INSERT INTO `member` (`NAME`, `age`) V..
[Mysql] Foreign Key(외래키) 1. 외래키 (Foreign Key)란? 외래키는 두 테이블을 서로 연결하는 데 사용되는 키이다. 외래키가 포함된 테이블을 자식 테이블이라고 하고 외래키 값을 제공하는 테이블을 부모 테이블이라한다. 2. 외래키 사용시 주의 사항 1) 외래키 값은 NULL이거나 부모 테이블의 기본키 값과 동일해야한다. (참조 무결성 제약조건) 2) 부모 테이블의 기본키, 고유키를 외래키로 지정할 수 있다. 3) 부모 테이블의 기본키, 고유키가 여러개의 컬럼으로 이루어져 있다면 부모가 가진 기본키, 고유키 컬럼을 원하는 개수만큼 묶어서 외래키로 지정할 수 있다. CREATE TABLE `parent` ( `id1` INT(11) NOT NULL, `id2` INT(11) NOT NULL, `id3` INT(11) NOT N..
[Mysql] DB 이중화하기 (Replication) 1. Mysql Replication이란? DB의 복제를 의미하며, Master와 Slave로 구성됩니다. Master 역할 : 데이터 등록/수정/삭제 시 Binarylog를 생성하여 Slave 서버에 전달합니다. 주로 등록,수정,삭제 용으로 사용합니다. Slave 역할 : Master에게 전달받은 Binarylog를 읽어 DB에 반영합니다. 주로 읽기 용으로 사용합니다. 2. 사용 목적 실시간 데이터 백업 DB 서버 부하 분산 3. 주의 사항 호환성을 위해 Master와 Slave의 Mysql 버전이 동일하게 맞추는 것이 좋습니다. 버전이 다른 경우 Slave DB 서버가 상위 버전이어야 합니다. Master DB 서버, Slave DB 서버 순으로 가동시켜야 합니다. 4. Linux 및 Mysql 기..

반응형