About_Datascience/SQL
-
[About _ MySQL _ INDEX]About_Datascience/SQL 2023. 2. 3. 10:46
INDEX 는 검색 속도가(READ) 빨라지게 하기 위해 사용된다. 그러나 저장공간을 10% 정도 더 차지하고 INSERT , DELETE , UPDATE 를 할 때 속도가 느려지기 때문에 필요한 상황에 맞게 사용하는 것이 중요할 것 같다. INDEX는 테이블의 컬럼 단위로 설정 가능하고 INDEX에는 두 가지 종류가 있다. 첫 번째로 클러스터형 인덱스는 검색 속도에 큰 영향을 주지 않기 때문에 검색 속도에는 큰 의미가 없지만 데이터 정렬해주는 기능을 갖고 있다. 두 번째로 보조 인덱스 (secondary) 가 있는데 보조 인덱스가 우리가 생각하는 검색 속도 향상에 영향을 주는 인덱스이다. # index 출력 SHOW INDEX FROM salaries; INDEX의 주 기능인 검색 속도 향상을 확인해보..
-
[About _ MySQL _ Sub Query]About_Datascience/SQL 2023. 2. 2. 19:37
sub query는 query 문 안에 있는 query를 의미하며 SELECT절 , FROM절, WHERE 등에 사용이 가능하다. 1. SELECT 절에 사용되는 Sub Query 문 # 전체 국가 수, 전체 도시 수, 전체 언어 수를 1개의 row로 출력하는 구문 # SELECT 안에 또 SELECT 구문을 넣어 sub query작성 SELECT (SELECT COUNT(*) FROM country) AS total_country, (SELECT COUNT(*) FROM city) AS total_city, (SELECT COUNT(distinct(language))) FROM countrylanguage AS total_language; 2. FROM 절에 사용되는 Sub Query문 world da..
-
[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로 선택해주었다. 그 다음 키파일을 생성해줘야 하는데 이 키파일은 재생성이 안되고 서버에 접속할..