Database/SQL 11

[MySQL] 날짜 차이 함수 DATEDIFF, TIMESTAMPDIFF

단순히 일 차이를 가져올 때는 DATEDIFF 함수를 날짜 차이를 연, 분기, 월, 주, 일, 시, 분, 초를 지정해서 가져올 때는 TIMESTAMPDIFF 함수를 사용 DATEDIFF DATEDIFF(date1, date2); // date2 - date1 TIMESTAMPDIFF TIMESTAMPDIFF(unit, date1, date2); 단위 SECOND : 초 MINUTE : 분 HOUR : 시 DAY : 일 WEEK : 주 MONTH : 월 QUARTER : 분기 YEAR : 연 https://school.programmers.co.kr/learn/courses/30/lessons/151138 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필..

Database/SQL 2023.01.25

[MySQL] GROUP BY와 HAVING

GROUP BY 특정 컬럼 이름을 지정 해주면 그 컬럼의 UNIQUE한 값에 따라서 데이터를 그룹 짓고, 중복된 열은 제거한다. 보통 집합 함수 (AVG, SUM, COUNT 등) 과 같이 쓰인다. https://kk-programming.tistory.com/38 참고 HAVING GROUP BY한 결과에 조건을 붙이고 싶을 때 사용한다. GROUP BY의 WHER절과도 같다. https://school.programmers.co.kr/learn/courses/30/lessons/131536 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT U..

Database/SQL 2022.12.04

[MySQL] MySQL NULL 처리 - IFNULL, CASE, COALESCE

https://velog.io/@gillog/DB-MySQL-NULL-%EC%B2%98%EB%A6%ACIFNULL-CASE-COALESCE [DB] MySQL NULL 처리(IFNULL, CASE, COALESCE) MySQL에서 Column의 값이 Null인 경우를 처리해주는 함수들은 IFNULL, CASE, COALESCE과 같은 함수들이 있다.Orcale의 NVL()과 비슷한 기능을 한다.해당 Column의 값이 NULL을 반환할 때, 다른 값으로 출력할 수 있 velog.io ✅ IFNULL 해당 Column의 값이 NULL을 반환할 때, 다른 값으로 출력 할 수 있도록 하는 함수 📌 IFNULL SELECT IFNULL(Column명, "Null일 경우 대체 값") FROM 테이블명; -- NA..

Database/SQL 2022.11.21

[MySQL] DB, Table import & export

sql 파일로 DB export mysqldump -u [user] -p [password] [원본 db명] > [파일경로]/[파일명].sql sql 파일로 Table export mysqldump -u [user] -p [password] [원본 db명] [table명] > [파일경로]/[파일명].sql 특정 Table 제외 export mysqldump -u [user] -p [password] --ignore-table=[제외할 table명] [db명] > [파일경로]/[파일명].sql sql 파일로 DB import mysqldump -u [user] -p [password] [db명] < [파일경로]/[파일명].sql sql 파일로 Table import mysqldump -u [user] -p..

Database/SQL 2022.10.19

[MySQL] MySQL 명령어

MySQL 접속 mysql -u [user] -p RDS MySQL 접속 mysql -u -p --host 현재 실행 중인 쿼리 확인 show processlist; 쿼리 강제 종료 kill DB별 용량 확인 SELECT table_schema "Database", ROUND(SUM(data_length+index_length)/1024/1024,1) "MB" FROM information_schema.TABLES GROUP BY 전체 용량 확인 SELECT SUM(data_length+index_length)/1024/1024 used_MB, SUM(data_free)/1024/1024 free_MB FROM information_schema.tables; Source https://ssssssu12...

Database/SQL 2022.10.18

[MySQL] 데이터 베이스 인덱스

데이터 베이스 인덱스란? 기준 없이 정렬된 경우 → 전체 데이터에서 순차적 확인 → 느리다 데이터가 특정 기준으로 정렬되어 있다면 검색을 빠르게 할 수 있다. 인덱스는 데이터베이스 테이블에 대한 검색 성능을 향상시키는 자료구조이며 WHERE 절 등을 통해 활용된다. select * from member where email = 'ella@whatt.com' 인덱스 특징 항상 최신의 정렬 상태를 유지 인덱스도 하나의 데이터 베이스 객체 데이터베이스 크기의 약 10% 정도의 저장공간 필요 페이지 데이터가 저장되는 단위 Full Table Scan 순차적으로 접근 적용 가능한 인덱스가 없는 경우 인덱스 처리 범위가 넓은 경우 크기가 작은 테이블에 엑세스 하는 경우 (데이터 베이스가 인덱스를 적용해도 성능 상 ..

Database/SQL 2022.10.08

[MySQL] DB, Table, Data, Column 생성, 조회, 수정, 삭제

✅ DATABASE 📌 DB 생성 create database default character set utf8mb4 default collate utf8mab4_general_ci; create database ; 📌 DB 조회 show databases; 📌 RENAME TABLE 을 이용한 DB 이름 변경 select concat('rename table ',table_schema,'.',table_name,' to ','새DB명.',table_name,';') from information_schema.tables where table_schema like '기존DB명'; 📌 DB 삭제 drop database ; ✅ TABLE 📌 TABLE 생성 create table ( id bigint pri..

Database/SQL 2022.09.26

[MySQL] [스파르타코딩클럽 SQL] Subquery, With, 문자열, Case

🔥 Subquery란? 쿼리 안의 쿼리 하위 쿼리의 결과를 상위 쿼리에서 사용한다. 자주 쓰이는 Subqueary 유형: Where에 들어가는 Subquery, Select에 들어가는 Subquery, From에 들어가는 Subquery () 안에 subquery가 들어간다. 🔥 Where 절에 들어가는 Subquery Subquery의 결과를 조건에 활용한다. where 필드명 in (subquery) 사용 예시 카카오 페이로 결제한 주문건 유저들만 유저 테이블에서 추출 select * from users u where u.user_id in (select o.user_id from orders o where o.payment_method = 'kakaopay'); ※ 쿼리 실행 순서: from → w..

Database/SQL 2022.07.16

[MySQL] [스파르타코딩클럽 SQL] Join, Union

🔥 Join 두 테이블의 공통된 정보(key)를 기준으로 테이블을 연결해서 한 테이블처럼 보는 것 key: 두 테이블 모두 갖고 있는 필드 → 두 테이블을 연결시켜주는 열쇠가 된다. 서로 다른 테이블에 있는 데이터들을 사용해야 할 때 테이블들을 합쳐준다. 🔥 Left Join 개념 합집합 모든 데이터를 합친다. 두 테이블을 합칠 때 key필드의 데이터가 한 테이블에는 있고 다른 테이블에는 없을 수 있다. left join은 모든 데이터를 합치기 때문에, 이 경우 비워있는 공간이 생긴다. select * from users u left join point_users p on u.user_id = p.user_id; 어떤 데이터(한 행)는 모든 필드가 채워져 있지만, 어떤 데이터는 [Null]로 비어있는 필..

Database/SQL 2022.07.16

[MySQL] [스파르타코딩클럽 SQL] Group by, Order by

Group by 동일한 범주를 갖는 데이터를 하나로 묶어서, 범주별 통계를 내주는 것 성씨별 회원수 구하기 select name, count(*) from users group by name; 쿼리가 실행되는 순서: from → group by → select 1. from users users 테이블 데이터 전체를 가져온다. 2. group by name users 테이블 데이터에서 같은 name을 갖는 데이터를 합쳐준다. 3. select name, count(*) name에 따라 합쳐진 데이터가 각각 몇개가 합쳐진 것인지 세어준다. 동일한 범주 개수 구하기 count select 범주별로 세어주고 싶은 필드명, count(*) from 테이블명 group by 범주별로 세어주고 싶은 필드명; -- ..

Database/SQL 2022.07.09