반응형 SQL186 MySQL LIMIT OFFSET 사용법 정리 MySQL에서는 LIMIT OFFSET을 이용해서 출력되는 행 갯수를 지정할 수 있는데 먼저 LIMIT OFFSET을 사용하는 방법은 LIMIT 행_갯수 OFFSET 시작행; 순으로 사용해주면 되는데 첫 행은 1이 아니라 0부터 시작이다 OFFSET은 필수가 아니므로 넣지 않으면 0처리되서 첫 행부터 나오게 된다 다음으로 LIMIT만 사용하는 경우에는 LIMIT 시작행, 끝행 이렇게 사용해주면 되는데 LIMIT 2, 3; 이렇게 사용해주면 3번째와 4번째 행만 나오게 된다 마지막으로 예제에 사용한 쿼리는 다음과 같다 WITH TBL AS ( SELECT '철수' AS NAME, 20 AS AGE UNION ALL SELECT '영희' AS NAME, 30 AS AGE UNION ALL SELECT '희영.. 2021. 1. 16. MySQL START TRANSACTION 개념 및 예제 MySQL에서 INSERT, UPDATE, DELETE와 같이 DB 내용을 변경하는 쿼리를 사용하는 경우 주변에서 반드시 START TRANSACTION을 먼저 사용하라고 하는데 이게 뭐냐면 START TRANSACTION을 사용한 후에는 COMMIT이나 ROLLBACK을 사용하기 전에는 수정한 내용이 DB에 반영되지 않기 때문에 쿼리를 돌려본 뒤에 이게 맞으면 COMMIT하는 거고 아니면 ROLLBACK으로 돌려버리면 되는거다 근데 자연스럽게 COMMIT; ROLLBACK; 을 쓰지 않으면 애초에 반영 안되는건데 굳이 START TRANSACTION을 쓸 필요가 있나 하는 생각이 들거다 하지만 MySQL은 오라클과 다르게 기본 옵션이 쿼리 수행 시 바로 COMMIT 시켜버리기 때문에 되돌릴 수 없는 참.. 2021. 1. 15. MySQL DATEDIFF, TIMESTAMPDIFF를 이용한 날짜 차이 비교방법 MySQL에서는 DATEDIFF와 TIMESTAMPDIFF를 이용해 두 날짜간의 차이를 구할 수 있는데 먼저 DATEDIFF는 DATEDIFF(기준 날짜, 비교할 날짜) 이렇게 사용해주면 되는데 몇일 차이가 나는지 구할 수 있게 된다 하지만 일(DAY) 차이밖에 구하지 못하는 만큼 월, 시간 등으로 구하려면 TIMESTAMPDIFF를 사용해주면 된다 TIMESTAMPDIFF는 TIMESTAMPDIFF(단위, 기준 날짜, 비교할 날짜) 이렇게 사용해주면 되는데 단위에 뭘 넣느냐에 따라 원하는 기준으로 비교를 해서 가져올 수 있다 SELECT DATEDIFF(기준 날짜, 비교할 날짜) AS DIFF; -- DAY로만 비교 SELECT TIMESTAMPDIFF(단위,기준 날짜, 비교할 날짜) AS DIFF2;.. 2021. 1. 15. MySQL 테이블 컬럼 조회방법 MySQL에서 INFORMATION_SCHEMA.COLUMNS 를 이용하면 특정 스키마의 테이블을 조회할 수 있는데 사용방법은 아래 쿼리를 복사 붙여넣기 한 후 스키마명과 테이블명만 변경해주면 된다 SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='스키마명' AND TABLE_NAME='테이블명'; 주로 보게 될 컬럼은 다음과 같다 TABLE_SCHEMA - 스키마명 TABLE_NAME - 테이블명 COLUMN_NAME - 컬럼명 COLUMN_KEY - KEY 여부 COLUMN_DEFAULT - 기본값 IS_NULLABLE - NULL 가능 여부 DATA_TYPE - 데이터타입 COLUMN_TYPE - 데이터타입(크기 포함) 2021. 1. 15. MySQL INNER LEFT RIGHT CROSS JOIN 사용방법 및 예제 MySQL에서는 INNER JOIN, LEFT JOIN, RIGHT JOIN, CROSS JOIN을 사용해 여러 테이블을 합쳐 필요한 값만 가져올 수 있는데 각각 두 테이블에서 같은 값만(INNER JOIN) 왼쪽에만 값이 있어도(LEFT JOIN) 오른쪽에만 값이 있어도(RIGHT JOIN) 모든 경우의 수가 나오게(CROSS JOIN) 기능은 차례대로 알아보자 먼저 TB1 테이블에는 영희와 철수라는 값이 들어있고 TB2 테이블에는 영희와 희영이라는 값이 들어있다는 것을 전제로 한다 INNER JOIN INNER JOIN은 두 테이블에서 조건이 같은 값만 가져오는데 SELECT ... FROM 테이블A INNER JOIN 테이블B ON A.컬럼명 = B.컬럼명 위의 쿼리와 같이 FROM 테이블A INN.. 2021. 1. 8. MySQL WITH 절 사용법 및 예제(가상 테이블) MySQL에서는 오라클과 동일하게 WITH 문으로 가상테이블을 만들 수 있는데 작성방법은 다음과 같다 WITH 가상테이블명 AS ( SELECT 쿼리 UNION ALL -- 뭐 붙이거나 할 경우 추가 SELECT 쿼리 ) WITH를 이용해 가상 테이블을 만든 후 이후 조회 시 테이블에 가상테이블명을 넣어주면 정상적으로 조회가 가능하다 마지막으로 예제에 사용한 쿼리는 다음과 같다 WITH TBL AS ( SELECT '철수' AS NAME, 20 AS AGE UNION ALL SELECT NAME, AGE FROM TB1 ) SELECT NAME, AGE FROM TBL; 2021. 1. 8. 이전 1 ··· 9 10 11 12 13 14 15 ··· 31 다음 반응형