[MySQL] UPSERT (INSERT ON DUPLICATE KEY UPDATE) 사용법 정리
예시 데이터 (users 테이블)CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, user_id VARCHAR(50) UNIQUE, name VARCHAR(100), gender CHAR(1)); [ { "user_id": "u001", "name": "Alice", "gender": "W" }, { "user_id": "u002", "name": "Bob", "gender": "M" }] 기존에 존재하면 업데이트, 없으면 삽입 (UPSERT)INSERT INTO users (user_id, name, gender)VALUES ('u002', 'Bobby', 'M')ON DUPLICATE KEY UPDATE name = VALUES(nam..
[MySQL] CASE 사용법 정리
[ { "user_id": "u001", "name": "Alice", "labeled_name": "Alice (여성)" }, { "user_id": "u002", "name": "Bob", "labeled_name": "Bob (남성)" }, { "user_id": "u003", "name": "Carol", "labeled_name": "Carol (여성)" }]예시 데이터 (users 테이블)iduser_idnamegender1u001AliceW2u002BobM3u003CarolW 조건에 따라 값 설정하기 (CASE WHEN)SELECT user_id, name, CASE gender WHEN 'W' THEN '여성' WHEN 'M' THEN '남성' ELSE '기..
[MySQL] CONCAT(), GROUP_CONCAT() 사용법 정리
예시 데이터 (users 테이블) iduser_idname1u001Alice2u002Bob3u003Carol문자열 연결 (CONCAT)SELECT id, CONCAT(user_id, ' - ', name) AS user_infoFROM users; 결과[ { "id": 1, "user_info": "u001 - Alice" }, { "id": 2, "user_info": "u002 - Bob" }, { "id": 3, "user_info": "u003 - Carol" }]여러 행을 하나로 합치기 (GROUP_CONCAT)SELECT GROUP_CONCAT(name) AS all_namesFROM users; 결과[ { "all_names": "Alice,Bob,Carol" }] CONCAT과 함께..