About_Datascience
-
[About _ MySQL _ join]About_Datascience/SQL 2023. 2. 1. 18:49
JOIN은 여러 개의 테이블을 특정 컬럼을 기준으로 결합해서 데이터를 출력하는 방법이다. Pandas 의 merge 와 같은 기능을 한다고 생각하면 좋을 것 같다. JOIN에는 종류에 따라 inner join , left join , right join , outer join이 있다. 여기서 outer join이라는 명령어는 MySQL에 따로 없고 UNION이라는 명령어를 이용하여 구현할 수 있다. 벤다이어 그램을 생각해보면 inner join 은 말 그대로 교집합 부분이고 , left join 은 교집합을 포함한 벤다이어그램의 왼쪽 부분 , right join은 그 반대인 교집합 포함 오른쪽 벤다이어그램 부분 , outer join은 합집합 개념으로 생각하면 된다. 즉 , 모두 출력을 하는 것이다. 이..
-
[About_MySQL _ group by 와 having]About_Datascience/SQL 2023. 2. 1. 17:59
GROUP BY 는 데이터를 그룹으로 나누어, 그룹별로 어떠한 정보를 출력하고 비교할 때 사용되며 여러 결합함수(SUM , COUNT , MIN , MAX ...)와 함께 사용된다. GROUP BY # 대륙별 총 인구수 출력 SELECT continent , SUM(population) total_population FROM country GROUP BY continent ORDER BY total_population DESC; # 국가 코드별 도시 개수 출력 SELECT countrycode, COUNT(countrycode) AS city_count FROM city GROUP BY countrycode # 내림차순 정렬 ORDER BY city_count DESC; # 년월별 총 매출데이터 출력 S..
-
[About_MySQL _ 함수 , 조건절]About_Datascience/SQL 2023. 1. 31. 18:36
round( ) : 반올림 해주는 함수 # 12.345를 소숫점 셋째 자리에서 반올림하여 둘째 자리까지 반환해주겠다. SELECT ROUND(12.345,2); # 결과 : 12.35 count( ) : 해당 row의 수를 출력해주는 함수 # sql에서 제공해주는 world 데이터베이스 이용 SELECT COUNT(*) FROM country; concat( ) : column 간 결합을 해주는 함수 # ex) 국가 이름 컬럼과 국가 코드 컬럼을 concat SELECT code, name , CONCAT(name,'(', code,')') AS name_code FROM country; distinct( ) : 중복 데이터를 제거하고 출력해주는 함수 SELECT DISTINCT(language) FRO..
-
[About_MySQL 기본문법(2)_DML의 CRUD]About_Datascience/SQL 2023. 1. 31. 17:53
DDL 은 Data Manipulation Language의 약자로 데이터 조작어이다. 이는 데이터 검색, 삽입, 수정, 삭제등에 사용된다. 쉽게 말하면 테이블 안에 있는 데이터의 생성, 삭제, 변경 등에 사용된다고 이해하면 쉬울 것 같다. DML의 C(CREATE) R(READ) U(UPDATE) D(DELETE) 의 명령어로는 C : INSERT INTO R : SELECT FROM U : UPDATE SET D : DELETE FROM 이 사용된다. 예제로 전 게시물의 test 데이터베이스를 활용할 예정이다. # test 데이터베이스의 USE test; # user 테이블의 스키마 출력 DESC user; C : INSERT INTO # name 과 email 컬럼에 'peter' 와 'peter@..
-
[About_MySQL 기본문법(1)_DDL의 CRUD]About_Datascience/SQL 2023. 1. 30. 19:19
DDL 은 Data Definition Language의 약자로 데이터 정의어이다. 데이터 베이스, 테이블, 뷰, 인덱스등의 데이터 베이스 개체를 생성, 삭제, 변경에 사용한다고 한다. 쉽게 말하면 크게 데이터 베이스와 테이블 생성, 삭제, 변경 등에 사용된다고 이해하면 쉬울 것 같다. DDL의 C(CREATE) R(READ) U(UPDATE) D(DELETE) 의 명령어로는 C : CREATE R : SHOW ,DESC U : ALTER D : DROP 가 사용된다. 생성(CREATE) # test 라는 이름의 데이터베이스를 생성 CREATE DATABASE test; # 현재 존재하는 DATABASE들을 보여줘라 ! SHOW DATABASES; # test 데이터베이스를 사용하겠다. USE test;..
-
[About _ AWS 서버, MYSQL 환경 구축]About_Datascience/SQL 2023. 1. 25. 18:22
AWS 인스턴스(서버)를 이용하여 Ubuntu 환경에서 MYSQL 환경을 설정하는 작업을 진행하였다. 지금 당장은 필요 없을 지라도 나중에 현업에서 인공지능을 다룰 때에는 무조건적으로 필요한 부분이기 때문에 나중에 참고하기 위해 환경을 구축하는 방법에 대해 정리를 해보고자 한다. 순서는 크게 1. AWS 에서 EC2 인스턴스 생성 2. EC2 인스턴스 접속 3. MySQL 설치 4. MySQL 설정 로 나누어 설명하고자 한다. 1. AWS 에서 EC2 인스턴스 생성 우선 OS 를 선택해준다 ( Ubuntu로 진행할 것이기에 우분투를 선택해주었다.) 그 후 나는 프리 티어기 때문에 인스턴스 유형을 t2.micro로 선택해주었다. 그 다음 키파일을 생성해줘야 하는데 이 키파일은 재생성이 안되고 서버에 접속할..
-
[Crawliing Project _ 회고_ 어려웠던 부분(2) 이미지 복사 후 삽입]About_Datascience/Project 2023. 1. 24. 18:37
두 번째로 어려웠던 부분을 뽑자면 메일링 서비스를 진행할 때 메일을 쓰는 본문에 셀레니움을 통해 복사한 이미지를 붙여넣기 하는 작업이었다. 이 부분은 구글링을 해도 잘 나오지 않았고 , 결국 window에서만 가능한 클립보드를 이용하여 해결하였다. 따라서 이번 글에서는 이를 해결하기까지의 시행착오를 작성하고자 한다. 해결방법 import win32clipboard def send_to_clipboard(clip_type, data): win32clipboard.OpenClipboard() win32clipboard.EmptyClipboard() win32clipboard.SetClipboardData(clip_type, data) win32clipboard.CloseClipboard() for key,v..
-
[Crawliing Project _ 회고_ 어려웠던 부분(1) iframe안으로 이동]About_Datascience/Project 2023. 1. 24. 18:02
이번 프로젝트에 대한 회고는 어려웠던 부분과 느낀점으로 나누어 작성하려 한다. 1. iframe으로 이동하여 크롤링 # 메일 내용 입력 프레임으로 옮기기 chrome.switch_to.frame(chrome.find_element(By.XPATH, '//*[@id="content"]/div[3]/div/div[2]/div/div[3]/iframe')) # 다시 부모 프레임으로 옮기기 chrome.switch_to.default_content() 마무리 단계에서 네이버 메일 본문을 작성하는 위치를 평소와 같이 CSS_SELECTOR 를 이용하여 찾았다. class 이름도 대놓고 "workseditor-content" 라고 적혀있길래 '역시 네이버 ! 이렇게 편하고 직관적인 이름으로 명시를 해뒀구나 ! ' ..