본문 바로가기

Study_note(zb_data)/SQL

(13)
SQL 위도 경도를 활용하여 거리 계산하기 📌 lng, lat 활용하기 - Table의 lng,lat 컬럼 확인하기 (decimal로 설정) 🧷 기준이 되는 장소 lat, lng 값 먼저 구하기 import googlemaps gmaps_key = "AIzaSyAtk5M33oHwG4_v6oKqTwVITZb30fRTGfQ" gmaps = googlemaps.Client(key=gmaps_key) # 미왕빌딩 주소 입력 tmp = gmaps.geocode("서울특별시 강남구 역삼동 826-21", language='ko') tmp tmp[0]['geometry']['location'] >>>> {'lat': 37.4955525, 'lng': 127.0292924} 🧷 코드 예시 - user_Lat ▶ 현재 위도 / user_Lng ▶ 현재 경도 - ..
SQL 날짜 형식 DATE_FORMAT 활용하기 📌 DATE_FORMAT - 날짜 데이터들은 코딩 테스트 (SQL) 연습이나, 데이터베이스를 보다 보면 항상 나타남 - 날짜 데이터를 어떻게 처리하는지 대해 정리할 필요성 - 연/월/일로 구분하는 작업도 종종하기 때문에 개념을 잘 알고 있어야 한다. SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %T'); SELECT DATE_FORMAT('date', 'format'); ## NOW - 현재 시간을 반환 🧷 날짜 형식 - 주로 %Y, %m, %d 를 많이 썼던 것 같다
스터디 노트 (SQL Subquery) 📌 SQL Subquery - 하나의 SQL 문 안에 포함되어 있는 또 다른 SQL 문을 말한다 - 메인 쿼리가 서브 쿼리를 포함하는 종속적인 관계 - Subquery는 괄호로 묶어서 사용한다 - 단일 행 or 복수 행 비교 연산자와 함께 사용 가능 - Subquery 에서는 order by를 사용할 수 없다. 📌 Subquery 종류 - Scalar subquery, Inline View, Nested subquery 🧷 Scalar subquery - SELECT 절에 사용, 서브 쿼리에서는 하나의 column 만 받는다 SELECT column1, (select column2 from table2 where condition) from table1 where condition; select case..
스터디 노트 (Scalar Functions) 📌 Scalar Functions 📌 UCASE - 영문을 대문자로 변환 select ucase('This is ucase test.'); select ucase(menu) from sandwich where price>15; 📌 LCASE - 소문자로 반환 select lcase("THIS IS LCASE TEST."); select lcase(menu) from sandwich where price < 5 📌 MID select MID(string, start_position, length); # string - 원본 문자열 # start - 문자열 반환 시작 위치 (첫글자는 1, 마지막 글자는 -1) # length - 반환할 문자열 길이 (공백 포함) select mid('This is mid t..
스터디 노트 (SQL 집계함수, group by, having) 📌 Aggregate Functions (집계함수) - 여러 칼럼 혹은 데이블 전체 칼럼으로부터 하나의 결과 값을 반환하는 함수 📌 GROUP BY - 그룹화하여 데이터 조회 - 중복 제거를 놓고 봤을 때, distinct와 유사한 기능 (but distinct는 order by를 사용할 수 없다) 🧷 예제 select police_station, sum(case_number) from crime_status where status_type = '발생' group by police_station order by sum(case_number) desc; select police_station, status_type, avg(case_number) from crime_status group by police..
스터디 노트 (SQL, Primary Key, Foreign Key) 📌 Primary Key (기본 키) - 테이블의 각 레코드를 식별 - 중복되지 않은 고유 값을 포함 - Null 값 포함 불가능 - 테이블 당 하나의 기본 키를 가짐 📌 Table에 Primary Key를 심어주기 - constraint 명령어는 생략 가능 (key_name) - 테이블 생성 시에 Primary Key를 지정하는 경우 create table person ( pid int not null, name varchar(16), age int, sex char, primary key (pid) ); - 이미 생성된 테이블에서 Primary Key를 추가하는 경우 alter table person add constraint key_name primary key (pid); - primary key..
스터디 노트 (Python with csv) 📌 Python with csv import pandas as pd df = pd.read_csv("csv_file_route") 📌 SQL에 연결 및 쿼리 작성 import mysql.connector conn = mysql.connector.connect( host = "end_point", port = port_number, user = "admin", password = "******", database = "db_name" ) - commit() 은 Database에 적용하기 위한 명령어 sql = "insert into police_station values (%s, %s)" cursor = conn.cursor(buffered = True) for i, row in df.iterrow(): ..
스터디 노트 (Python with MySQL) 📌 Python with MySQL - mysql.connector library를 설치 및 import pip install mysql-connector-python import mysql.connector 📌 mysql 접속하기 - 로컬 호스트로 접속하는 경우 import mysql.connector mydb = mysql.connector.connect( host = "localhost" user = "root" password = "******" ) - AWS 환경으로 접속하는 경우 import mysql.connector remote = mysql.connector.connect( host = "end_point" port = port_number user = "admin" password = ..