전체 글

안녕하세요, 데이터 분석가를 꿈꾸는 개인기록 블로그입니다:)
· MYSQL
저번 글에서 설치한 Sequel Pro에서 캐글 데이터를 분석하기 위해 CSV 파일을 불러오겠다. 2024.03.08 - [SQL] - 맥북 MariaDB 설치하기 & GUI 툴(Sequel Pro) 맥북 MariaDB 설치하기 & GUI 툴(Sequel Pro) SQL을 활용하기 위한 MariaDB를 설치해보자. MySQL VS MariaDB 들어가기 전 MySQL과 MariaDB를 비교해보자면, 데이터베이스에는 관계형 데이터베이스와 비관계형데이터베이스가 있다. 관계형 데이터베이스 yeonnys.tistory.com 먼저, Sequel Pro를 실행하고, File -> Import를 진행한다. 원하는 파일의 위치로 이동하여 원하는 CSV 파일을 가져온다. Open을 누르면,, 다음과 같이 CSV 컬럼에..
· MYSQL
* 2024년 3월 11일 기준, MariaDB 상에서 WITH 구문 사용 시 에러가 발생하기에, 필자는 MariaDB 대신 MySQL로 다시 설치를 하였다. GUI 툴 역시 Sequel Pro의 업데이트가 중단되어, 유사한 Sequel Ace로 다시 설치하였다. (사용방법 동일) 2024.03.11 - [SQL] - Mac MariaDB "doesn't exist in engine" 에러 해결 + MySQL 설치 방법 Mac MariaDB "doesn't exist in engine" 에러 해결 + MySQL 설치 방법 드디어 Mac의 MariaDB에서 일어나는 "Table 'XXX' doesn't exist in engine" 에러를 해결하였다. (이 에러 때문에 3일은 고생한듯하다^^) 날짜: 20..
7. SQL을 활용한 데이터 분석 : 캐글의 데이터셋 활용 7-1. 실전 데이터 분석 사례 1 : Indian Restaurant Dataset https://www.kaggle.com/datasets/abhijitdahatonde/27000-indian-restaurant-dataset : 인도내 식당들에 있는 정보를 다각도로 제공 (평점, 식당음식의 평균 가격, 평균 배달 시간, 북인도 위치 여부, 패스트푸드 여부, 길거리음식 여부 등) 🍜 27,000 + Indian Restaurant Dataset 🏰 🍰 Indian Restaurants dataset www.kaggle.com 이제, MariaDB에 데이터셋을 올려 데이터를..
6. 효율적인 SQL 코드 작성하기 6-1. 테이블을 집합으로 생각하기 - 최대한 작게 만들어 놓고 JOIN 하기 : 최대한 먼저 필터링을 해서 집합 크기를 줄여준 뒤, 다른 테이블과 JOIN 하는 것이 좋음 선 필터링 후 JOIN VS 선 JOIN 후 필터링 ==> 시간이 훨씬 짧음! 6-2. *, % 사용 지양하기 새로운 테이블을 접했을 때.. - LIMIT 걸고 조회하기 : 행수가 매우 큰 테이블을 확인할 수도 있기 때문에, 항상 LIMIT을 거는 것이 좋음 SELECT product_id, name FROM products LIMIT 10 - 파티션이 있는 테이블인지 확인하고, 파티션을 필터 조건으로 걸고 조회하기 ex. 유..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120902 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 [풀이 1] def solution(my_string): return eval(my_string) [풀이 2] def solution(my_string): # 공백을 기준으로 문자열을 나눈다. new_str = my_string.split(' ') # 정확한 수식은 첫 번째로 연산자가 나오지 않으므로 기본 answer은 첫 번째 숫자로 지정한다. answer = int(new..
5. 다양한 데이터 타입 다루기 5-1. 숫자 BIT(M) : 0과 1로만 구성. 컴퓨터가 데이터를 저장하는 기본 단위 (예> b’111’ = 7) M은 몇 자리 비트를 사용할 것인지 의미. 1 16비트까지 사용가능 -32768 ~ 32767 0 ~ 65535 MEDIUMINT : 중간 크기 정수 (대략 1670만개의 정수) -> 24비트까지 사용가능 -8388608 ~ 8388607 0 ~ 16777215 INT, INTEGER : 정수(일반적으로 사용하는 정수타입) -> 32비트까지 사용 가능 -2147483648 ~ 2147483647 0 ~ 4294967295 BIGINT, SERIAL : INT 타입보다 2배 많은 비트를 사..
4. 다양한 SQL 함수 다루기 4-1. 타임스탬프 함수 : SQL에서 날짜와 시간 다루기 ex. 현재 시점에서 고객이 얼마전에 구매했는지 알 수 있음 -- STR_TO_DATE : 문자열을 날짜형식으로 바꾸는 함수 -- DATEDIFF : 날짜간 차이를 구하는 함수 SELECT user_name, DATEDIFF(NOW(), STR_TO_DATE(date, '%Y%m%d')) as dist FROM orders 데이터 타입 - STRING : ‘yyyy-mm-dd’, ‘yyyy-mm-dd HH:MM:SS’ - DATE : yyyy-mm-dd (저장 공간이 적음) - DATETIME : YYYY-MM-DD HH:MM:SS ..
3. 여러 테이블 결합하여 사용하기 3-1. 다양한 JOINS JOIN: 두 개 이상의 테이블을 특정 key를 기준으로 결합하는 것 테이블을 쪼개놓는 이유 : 각 테이블을 효율적으로 관리, 저장하기 위해 -> 테이블에 저장한 데이터에 변경사항이 있을 수 있기 때문 + 같은 데이터를 중복 저장하는 것 방지. INNER JOIN : 두 개의 테이블에서 일치하는 행만 가져와서 JOIN 즉, 연결된 열에서 값이 일치하는 경우만 반환(교집합) 컬럼값이 비어있거나 한 쪽에만 있는 행은 결과에서 제외됨 -> 특정행이 결과에 포함되어 있지 않으면 JOIN 조건 확인 필요 ==> 교집합을 구하면서 대상 행 수를 줄이기 때문에 다른 JOIN보다 속도..
1. SQL과 RDB란 무엇인가 1-1. SQL 학습 목적 : 데이터로 다양한 Data Product를 만들기 위해 Database에서 데이터를 가져와야 함 -> 이때 사용되는 언어가 SQL (Data Product란? 분석 보고서 혹은 머신러닝 모델 등 데이터 과학자/분석가가 만들어내는 다양한 모든 산출물) 1) 원하는 형태로 데이터를 가져올 수 있다. 2) 효율적으로 데이터를 가져올 수 있다. 3) 간단한 데이터 분석을 수행할 수 있다. -> 보통 데이터만 적재하고 나머지는 P 등으로 분석하는데, SQL으로 간단하게 데이터를 분석할 수도 있음 1-2. RDBMS / SQL 개요 데이터베이스: 데이터를 쌓아두는 곳 & 관리시스템 ..
· 기타
2024.03.04 - [분류 전체보기] - 맥북 개발자 초기 환경설정하기 맥북 개발자 초기 환경설정하기 맥북 구매 후 간지나는 개발환경을 설정하기 위한 방법을 소개하겠습니다. 아래의 유튜브와 다수의 블로그 글을 참고하여 정리했습니다! https://www.youtube.com/watch?v=zLpnbnRB0kU 1) 홈브루(Homebrew) 설치 yeonnys.tistory.com 저번 글에 이어 이번에는 터미널을 더 보기 예쁘고 쉽게 만들어보자. 최종적으로 나오는 터미널의 모습은 다음과 같다! 1) Color theme 적용하기 터미널의 컬러를 더 예쁘게 바꿔보자. 일단 다음 사이트에 이동하여 마음에 드는 테마를 고른다. https://iterm2colorschemes.com/ Iterm Themes..
_알파카
yeonnys' 개발일지