728x90 Database/MySQL18 [Programming][MySQL] 문자열 가공하기(Feat. 카카오 주가 데이터) 다양한 함수를 통해 문자열을 원하는 대로 가공할 수 있다. SUBSTR / SUBSTRING -- SUBSTR SELECT month, substr(month, 1, 3) AS Mon FROM kakao GROUP BY Mon; -- SUBSTRING SELECT month, substring(month, 1, 3) AS Mon FROM kakao GROUP BY Mon; SUBSTR 함수로 문자열의 원하는 부분만 출력할 수 있다. SUBSTR(출력할 열, 시작, 끝)의 형식으로 작성한다. 월을 영어로 기재할 때, 앞의 3글자만 작성하는 경우도 많으므로 month 열(Column)에서 첫 번째부터 세 번째 글자만 출력했다. SUBSTR / SUBSTING 모두 가능하다! 양쪽 결과 모두 동일하게 출력되었.. 2021. 7. 26. [Programming][MySQL] IF/ CASE 조건 함수(Feat. 카카오 주가 데이터) IF SELECT date, fluctuation, IF(fluctuation LIKE '\-%', '하락', '상승') AS '구분' FROM kakao; IF는 조건을 만드는 함수이다. IF(조건식, 참, 거짓)의 형태로 작성한다. 변동률(fluctuation)에 따라 상승한 주(week)인지 하락한 주(week)인지 구분하고자 -가 붙은 경우 '하락', 거짓일 경우 '상승'으로 조건을 설정했다. 결과적으로, 마이너스(-) 일 때 하락과 그렇지 않을 때 '상승'으로 잘 구분되고 있다. CASE SELECT month, CASE WHEN month IN ('January', 'February', 'March') THEN '1 분기' WHEN month IN ('April', 'May', 'June') .. 2021. 7. 26. [Programming][MySQL] NULL 값 다루기(Feat. 카카오 주가 데이터) NULL이란? NULL은 0 값이 아니다. 어떠한 숫자가 아닌 값이 없다, 값이 존재하지 않는다는 의미이다. NULL + 1 도 NULL이고, NULL * 100도 NULL이다. 즉, NULL에 어떠한 연산을 해도 NULL 값이 나온다. (연산 불가) NULL 값을 다루는 표현들을 해보기 위해 기존에 작성하던 kakao 데이터에서 NULL 값들을 임의로 가공했다. 1. NULL 값 조회하기 -- NULL 값 조회 SELECT * FROM kakao_null WHERE month IS NULL; -- NULL이 아닌 값 조회 SELECT * FROM kakao_null WHERE month IS NOT NULL; IS NULL은 NULL 값이 있는 열(Column)을 조회하라는 의미이다. month에 NU.. 2021. 7. 25. [Programming][MySQL] 연산을 할 수 있는 다양한 함수(Feat. 카카오 주가 데이터) 집계 함수 (Aggregate Function) -- 개수 집계 함수(COUNT) SELECT COUNT(*) FROM kakao; -- 총 합 집계 함수(SUM) SELECT SUM(vloume) FROM kakao; COUNT는 개수를 세는 집계 함수이다. * 을 사용하여 전체 개수를 산출하는 쿼리를 입력한 결과 52개로 개수가 출력되었다. SUM은 합을 계산하는 집계 함수로, 1년 동안 전체 거래량의 합을 출력했다. -- 평균 집계 함수(AVG) SELECT AVG(close) FROM kakao; -- 표준편차 집계 함수(STD) SELECT STD(close) FROM kakao; AVG는 평균을 구하는 집계 함수이다. 종가(close)의 평균을 구한 결과 지난 1년 동안 카카오 주가의 평균은 .. 2021. 7. 25. [Programming][MySQL] ORDER BY / GROUP BY / LIMIT(Feat. 카카오 주가 데이터) ORDER BY ORDER BY는 정렬을 해주는 예약어이다. WHERE 다음에 사용해주며, 오름차순(ASC) / 내림차순(DESC)으로 수행할 수 있다. 왼쪽과 같이 오름차순(ASC)을 설정하면 종가(Close)가 작은 값부터 산출되고, 오른쪽과 같이 내림차순(DESC)으로 설정하면 종가(Close)가 큰 값부터 정렬되어 산출된다. GROUP BY GROUP BY는 원하는 열들이나 조건들에 맞게 그룹을 지어주는 예약어이다. SELECT month FROM kakao GROUP BY month; -- 그룹별 평균 계산 SELECT month, AVG(close) FROM kakao GROUP BY month; 왼쪽과 같이 month를 GROUP BY 함수로 지정하면 각 그룹별로 묶인 상태로 출력된다. 이에.. 2021. 7. 24. [Programming][MySQL] DATE (날짜/시간) 함수(Feat. 카카오 주가 데이터) 연/ 월/ 일 데이터 추출 연도(YEAR), 월(MONTH), 일(DAY) 함수를 이용하여 데이터를 가공할 수 있다. -- 연도(YEAR) 함수 SELECT * FROM kakao WHERE YEAR(date) = 2021; -- 월(MONTH)함수 SELECT * FROM kakao WHERE MONTH(date) = 5; -- 일(DAY) 함수 SELECT * FROM kakao WHERE DAY(date) BETWEEN 25 AND 31; 오늘 날짜/ 시간 구하기 오늘 날짜를 알고 싶을 때는 CURDATE(), 지금 시간을 구하고 싶을 때는 CURTIME()을 사용하면 된다. -- 오늘 날짜 SELECT CURDATE() -- 지금 시각 SELECT CURTIME() 월 말일 구하기 LAST_DAY.. 2021. 7. 24. [Programming][MySQL] SQL 기본 문법(Feat. 카카오 주가 데이터) 들어가기 전에 - SQL 문이 하나일 경우는 상관없지만, 여러 개일 경우 끝에 세미콜론(;)을 적어야 한다. - 예약어(SQL을 실행할 때 내장되어 있는 키워드로 명령하는 언어)는 대문자로 작성하는 것을 권장한다. 1. 데이터 베이스 활성화 --앞으로 사용할 데이터 베이스 지정 USE data; SELECT * FROM kakao; -- Dot으로 테이블 선언 SELECT * FROM data.kakao; --SCHEMAS 클릭하여 활성화 시킨 후 바로 테이블 선언 SELECT * FROM kakao; 2. SELECT / FROM SELECT는 테이블에서 가지고 오고 싶은 정보를 선택한다는 의미로 열, 연산 값, 파생변수 등을 지정할 수 있다. * 은 모든 열을 조회한다는 의미로 왼쪽 그림과 같이 전체.. 2021. 7. 23. [Programming][MySQL] Workbench로 데이터 Import하기(Feat. 카카오 주가 데이터) 실습에 사용할 목적으로 카카오 주간 주가 데이터(2020/07/21-2021/07/22 ) 데이터를 INVESTING.COM에서 추출하여 CSV 파일로 생성했다. 데이터 설명 데이터는 주 별 기준일(date), 종가(close), 오픈(open), 고가(high), 저가(low), 거래량(volume), 변동(fluctuation)으로 구성되어 있고, 고윳값 실습을 위해 name 변수와 TEXT 데이터를 위해 month 변수를 임의로 추가했다. Create Schemas 데이터 집합체인 스키마를 만들어 주기 위해 왼쪽 SCHEMAS 창에 마우스를 대고 우클릭하여 Create Schea.. 를 클릭한다. 스키마의 이름을 정하는 페이지가 나오는데, 원하는 이름을 설정한 후 Apply를 클릭한다. (data로.. 2021. 7. 22. 이전 1 2 다음 반응형