일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 월간결산
- 서평단
- 시각화
- MySQL
- Linux
- Python
- 통계학
- 티스토리
- 블로그
- Ga
- 파이썬
- tensorflow
- Tistory
- 한빛미디어
- python visualization
- 파이썬 시각화
- Pandas
- 서평
- Google Analytics
- Blog
- 텐서플로
- 한빛미디어서평단
- 리눅스
- Visualization
- SQL
- 딥러닝
- 독후감
- 매틀랩
- matplotlib
- MATLAB
- Today
- Total
목록MySQL (48)
pbj0812의 코딩 일기

0. 목표 - Procedure 를 통한 임시 데이터 보관 테이블 생성 1. Flow Chart 2. SQL 1) 테이블 생성 (1) sp_test1(raw table 저장소) CREATE TABLE pbj_db.sp_test1 ( datetime datetime, result int ) ENGINE = INNODB; (2) sp_test2(임시 데이터 저장소) CREATE TABLE pbj_db.sp_test2 ( datetime datetime, result int ) ENGINE = INNODB; 2) 프로시저 생성 - 실행시 1분 전의 데이터들을 모아서 연산 DELIMITER $$ CREATE PROCEDURE pbj_db.what_time_is_it_now() BEGIN # 지우기 DELETE ..

0. 목표 - MySQL 이벤트를 통한 데이터 삭제 / 삽입 1. Flow Chart - 프로시저 / 이벤트를 통하여 주기적으로 데이터를 삭제하고 채움 2. 실습 1) 테이블 생성 CREATE TABLE pbj_db.sp_test ( datetime datetime ) ENGINE = INNODB; 2) 프로시저 생성 DELIMITER $$ CREATE PROCEDURE pbj_db.what_time_is_it_now() BEGIN # 지우기 DELETE FROM pbj_db.sp_test; # 넣기 INSERT INTO pbj_db.sp_test(datetime) ( SELECT NOW() ); END $$ DELIMITER ; 3) 프로시저 테스트(실행) CALL pbj_db.what_time_is_..

0. 목표 - PRECEDING 을 통한 증감비교 1. 실습 1) 테이블 생성 CREATE TABLE sql_test.company ( company varchar(12), year int, sale int ); 2) 데이터 삽입 INSERT INTO sql_test.company(company, year, sale) VALUES ('A', 2010, 100); INSERT INTO sql_test.company(company, year, sale) VALUES ('A', 2011, 90); INSERT INTO sql_test.company(company, year, sale) VALUES ('A', 2012, 110); INSERT INTO sql_test.company(company, year, s..

0. 목표 - CASE / UNION 실행 계획 비교 1. 실습 1) 테이블 생성 CREATE TABLE sql_test.union_case ( MakeYear datetime, price1 int, price2 int2 ); 2) 데이터 삽입 INSERT INTO sql_test.union_case(MakeYear, price1, price2) VALUES('2010-01-01', 100, 0); INSERT INTO sql_test.union_case(MakeYear, price1, price2) VALUES('2010-01-01', 100, 0); INSERT INTO sql_test.union_case(MakeYear, price1, price2) VALUES('2010-01-01', 100, 0..

0. 목표 - MySQL 에서 FULL JOIN 1. 실습 1) 테이블 생성 - like CREATE TABLE sql_test.like ( ID INT, LikeDate datetime ); - buy CREATE TABLE sql_test.buy ( ID INT, BuyDate datetime ); 2) 데이터 삽입 INSERT INTO sql_test.like(ID, LikeDate) VALUES(1, '2021-01-01'); INSERT INTO sql_test.like(ID, LikeDate) VALUES(1, '2021-01-02'); INSERT INTO sql_test.like(ID, LikeDate) VALUES(2, '2021-01-03'); INSERT INTO sql_test.li..

0. 목표 - MySQL 조회 결과를 csv 파일로 만들기 1. 실습 1) 테이블 생성 CREATE TABLE Number_test ( Id INT, PhoneNumber VARCHAR(30) ); 2) 데이터 적재 INSERT INTO Number_test(Id, PhoneNumber) VALUES(1, '012-123-1234'); INSERT INTO Number_test(Id, PhoneNumber) VALUES(2, '012-1234-1234'); INSERT INTO Number_test(Id, PhoneNumber) VALUES(3, '0121231234'); INSERT INTO Number_test(Id, PhoneNumber) VALUES(4, '01212341234'); 3) 확인 S..

0. 목표 - 불규칙하게 저장된 전화번호 전처리 하기 1. 실습 1) 테이블 생성 CREATE TABLE Number_test ( Id INT, PhoneNumber VARCHAR(30) ); 2) 데이터 삽입 INSERT INTO Number_test(Id, PhoneNumber) VALUES(1, '012-123-1234'); INSERT INTO Number_test(Id, PhoneNumber) VALUES(2, '012-1234-1234'); INSERT INTO Number_test(Id, PhoneNumber) VALUES(3, '0121231234'); INSERT INTO Number_test(Id, PhoneNumber) VALUES(4, '01212341234'); 3) 확인 SELE..

0. 목표 - LAG 함수를 이용하여 전일대비 금일의 증가량 계산 1. 실습 1) 테이블 생성 SELECT DATE, category, Price, IFNULL(LAG(Price, 1) OVER (PARTITION BY Category ORDER BY DATE), 0) AS Price2 FROM lag_test ORDER BY DATE 2) 데이터 삽입 INSERT INTO lag_test(DATE, Category, Price) VALUES('2020-10-01', 'a', 100); INSERT INTO lag_test(DATE, Category, Price) VALUES('2020-10-02', 'a', 200); INSERT INTO lag_test(DATE, Category, Price) VAL..

0. 목표 - not in 과 left join 연산 시간 비교 실험 - index 변경 / 추가 1. 실습 준비 1) 데이터 및 테이블 생성 (링크) 2) index 확인 - 없음 SHOW INDEX FROM sql_test.df_a; SHOW INDEX FROM sql_test.df_b; 3) 테이블에 index 추가 ALTER TABLE sql_test.df_a ADD INDEX idx (a); ALTER TABLE sql_test.df_b ADD INDEX idx (a); 4) index 확인 - btree 형식 SHOW INDEX FROM sql_test.df_a; SHOW INDEX FROM sql_test.df_b; 2. 실습1 1) not in 을 통한 연산 - 0.084 sec / 0.0..

0. 목표 - MySQL 내 lock 실습 1. 실습 1) 테이블 생성 - InnoDB로 생성 CREATE TABLE pbj_db.lock_test ( ID INT PRIMARY KEY, Name VARCHAR(30) ) engine=InnoDB; 2) 데이터 삽입 INSERT INTO pbj_db.lock_test(ID, Name) VALUES(1, 'a'); INSERT INTO pbj_db.lock_test(ID, Name) VALUES(2, 'b'); INSERT INTO pbj_db.lock_test(ID, Name) VALUES(3, 'c'); 3) 트랜잭션 실행 START TRANSACTION; 4) lock 걸어주기 - ID 가 1인 행을 잠그기 SELECT * FROM pbj_db.loc..