MySQL 6

[DataBase] 트랜잭션이란?

목차 1. 트랜잭션의 개념 2. 트랜잭션의 특징 3. 트랜잭션 상태 4. 트랜잭션 제어문 5. 자동 및 수동 커밋 6. 락과 트랜잭션 7. 트랜잭션 성능 향상을 위한 팁 8. 트랜잭션과 쿼리 최적화 9. 결론 1. 트랜잭션의 개념 트랜잭션이란 DB 시스템에서 한셋의 작업들을 수행하는 논리적인 작업 단위를 의미. 이러한 작업들은 모두 성공적으로 완료되거나 아무것도 수행되지 않는 두 가지 결과만을 가진다. 트랜잭션은 DB의 상태를 다른 일관된 상태로 변환하는 데 사용된다. 2. 트랜잭션의 특징 원자성 (Atomicity) 모든 작업이 성공적으로 완료되거나 실패했다면 아무것도 완료되지 않아야 한다. 중간 단계에서의 실패로부터 DB를 보호한다. 일관성 (Consistency) 트랜잭션이 실행 전과 후에도 DB는..

[MYSQL] 프로그래머스 SQL 문제풀이 - Level 2 (8~9번 문제풀이) / level 1 (24/24)

8. 중성화 여부 파악하기 SELECT ANIMAL_ID, NAME, CASE WHEN SEX_UPON_INTAKE LIKE '%Neutered%' OR SEX_UPON_INTAKE LIKE '%Spayed%' THEN 'O' ELSE 'X' END AS 중성화 FROM ANIMAL_INS ORDER BY ANIMAL_ID; ANIMAL_INS 테이블에서 ANIMAL_ID, NAME을 조회하고 CASE문을 사용하여 SEX_UPON_INTAKE값에 Neutered, Spayed가 포함된다면 O 아니라면 X를 반환한다. 또한 별칭은 중성화로 선택해 줬다. 그 뒤 ORDER BY를 사용해서 오름차순으로 정렬했다. 9. NULL 처리하기 SELECT ANIMAL_TYPE, CASE WHEN NAME IS NUL..

[MYSQL] 프로그래머스 SQL 문제풀이 - Level 2 (1~7번 문제풀이) / level 1 (24/24)

1. 최솟값 구하기 SELECT MIN(DATETIME) AS 시간 FROM ANIMAL_INS ANIMAL_INS 테이블에서 MIN옵션을 주고 DATETIME을 조회하였다. 가장 작은 값을 조회하고 별칭은 시간으로 주었다. 2. 고양이와 개는 몇 마리 있을까 SELECT ANIMAL_TYPE, COUNT(*) AS count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE HAVING ANIMAL_TYPE IN ('cat', 'dog') ORDER BY ANIMAL_TYPE ANIMAL_INS 테이블에서 ANIMAL_TYPE과 개수를 조회하였다. 별칭은 count로 줬다. 그룹은 ANIMAL_TYPE으로 그룹핑해 주고 조건은 ANIMAL_TYPE이 cat, dog에 포함되는 것만 선택..

[MYSQL] 프로그래머스 SQL 문제풀이 - Level 1 (19~24번 문제풀이) - 1단계 모든 문제풀이 완료

19. 과일로 만든 아이스크림 고르기 SELECT FIRST_HALF.FLAVOR FROM FIRST_HALF JOIN ICECREAM_INFO ON FIRST_HALF.FLAVOR = ICECREAM_INFO.FLAVOR WHERE FIRST_HALF.TOTAL_ORDER >= 3000 AND ICECREAM_INFO.INGREDIENT_TYPE = 'fruit_based' ORDER BY FIRST_HALF.TOTAL_ORDER DESC FIRST_HALF 테이블에서 FLAVOR 칼럼을 조회했다. ICECREAM_INFO 테이블과 조인을 해줬고 조건은 두 개의 FLAVOR가 일치한다는 조건이다. 추가로 FIRST_HALF의 TOTAL_ORDER칼럼이 3000 이상이고 ICECREAM_INFO의 ING..

[MYSQL] 프로그래머스 SQL 문제풀이 - Level 1 (14~18번 문제풀이)

14. 조건에 맞는 회원수 구하기 SELECT COUNT(*) FROM USER_INFO WHERE JOINED LIKE '2021%' AND AGE BETWEEN 20 AND 29 USER_INFO 테이블에서 조건에 맞는 정보의 개수를 구하도록 했다. 조건은 JOINED 칼럼에서 데이터가 2021로 시작하고 AGE가 20과 29 사이에 있는 값만 가져오도록 조건을 걸었다. 15. 가장 비싼 상품 구하기 SELECT MAX(PRICE) AS MAX_PRICE FROM PRODUCT PRODUCT 테이블에서 MAX를 사용하여 PRICE값중 가장 큰 값을 구해오도록 했다. 별칭은 MAX_PRICE로 지정했다. 16. 12세 이하인 여자 환자 목록 출력하기 SELECT PT_NAME, PT_NO, GEND_C..

[MYSQL] 프로그래머스 SQL 문제풀이 - Level 1 (1~13번 문제풀이)

1. 모든 레코드 조회하기 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID ANIMAL_INS 테이블의 모든 정보를 조회하도록 했고 ORDER BY를 사용해서 ANIMAL_ID 순으로 정렬하였다. 2. 역순 정렬하기 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC ANIMAL_INS 테이블에서 NAME, DATETIME을 조회했고 정렬은 ANIMAL_ID를 기준으로 내림차순으로 정렬하였다. 3. 아픈 동물 찾기 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick' ANIMAL_INS 테이블에서 ANIMAL_ID, NAME을 조회했고 조건은 ..

프로필사진

남건욱's 공부기록

반응형