일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MATLAB
- 서평
- 파이썬
- SQL
- Ga
- Pandas
- 독후감
- matplotlib
- MySQL
- 시각화
- 한빛미디어서평단
- 월간결산
- 딥러닝
- 블로그
- python visualization
- Blog
- 텐서플로
- 리눅스
- 매틀랩
- Visualization
- tensorflow
- 서평단
- Linux
- 파이썬 시각화
- 한빛미디어
- 통계학
- 티스토리
- Tistory
- Google Analytics
- Python
- Today
- Total
목록ComputerLanguage_Program/SQL (51)
pbj0812의 코딩 일기
0. 목표 - 업데이트 구문 실습 1. 실습 1) 테이블 생성 CREATE TABLE pbj_db.update_test ( id INT NOT NULL, body VARCHAR(32) NOT NULL ) ENGINE = INNODB; 2) 데이터 삽입 INSERT INTO pbj_db.update_test(id, body) VALUES(1, 'a'); INSERT INTO pbj_db.update_test(id, body) VALUES(2, 'b'); INSERT INTO pbj_db.update_test(id, body) VALUES(3, 'c'); 3) 데이터 확인 SELECT * FROM pbj_db.update_test; - 결과 4) 업데이트 실행 UPDATE pbj_db.update_test ..
0. 목표 - SP를 이용하여 주기적으로 현재 시각을 테이블에 저장하기 1. 실습 1) 테이블 생성 CREATE TABLE pbj_db.sp_test ( datetime datetime ) ENGINE = INNODB; 2) 프로시저 생성 - sp_test 테이블에 현재 시각 삽입 DELIMITER $$ CREATE PROCEDURE what_time_is_it_now() BEGIN INSERT INTO pbj_db.sp_test(datetime) ( SELECT NOW() ); END $$ DELIMITER ; 3) 프로시저 구동 CALL what_time_is_it_now(); 4) 확인 SELECT * FROM pbj_db.sp_test; - 결과 5) 스케쥴 이벤트 생성 - 10초에 한 번씩 실행..
0. 목표 - MySQL 정규식 실습 1. 준비 1) 테이블 생성 CREATE TABLE pbj_db.reg_test ( id INT NOT NULL, body VARCHAR(32) NOT NULL ) ENGINE = INNODB; 2) 데이터 삽입 INSERT INTO pbj_db.reg_test(id, body) VALUES(1, 'aAbB'); INSERT INTO pbj_db.reg_test(id, body) VALUES(2, 'aA1bB'); INSERT INTO pbj_db.reg_test(id, body) VALUES(3, 'aA12bB123'); INSERT INTO pbj_db.reg_test(id, body) VALUES(4, 'aA12b B123'); INSERT INTO pbj_db..
0. 목표 - 아래와 같은 데이터에 country 별 profit 순대로 랭크 생성 1. 쿼리 작성(8버전 이후부터 가능) 1) 데이터 삽입 - 링크 참고 2) 본문 - contry 별 profit 순으로 정렬 이후 ROW_NUMBER을 생성 SELECT year, country, product, profit, ROW_NUMBER() OVER(PARTITION BY country ORDER BY profit) AS rnum FROM pbj_db.window_test; - 결과 2. 참고 - Oracle의 그룹별 번호 매기기와 같은 기능 구현하기
0. 목표 - with recursive 구문을 통한 구구단 작성 1. 실습 - MySQL 8 이상만 가능 1) WITH RECURSIVE를 이용 2) gugu 라는 테이블이 n을 가지게 함. 3) n의 기본값을 1로 주고, n이 9보다 작다면 n을 +1씩 늘림(n이 9까지 증가) => 이렇게 되면 gugu 테이블에는 1, 2, 3, 4, 5, 6, 7, 8, 9의 값이 저장되게 됨. 4) cross join 을 걸어 모든 경우의 수를 구함 => 즉, 1, 2, 3, 4, 5, 6, 7, 8, 9 x 1, 2, 3, 4, 5, 6, 7, 8, 9 의 수가 나오게 됨. WITH RECURSIVE gugu(n) AS ( SELECT 1 union all SELECT n+1 from gugu where n <..
0. 목표 - MySQL 반복문 사용하기 1. 실습 1) 테이블 존재시 테이블 제거 DROP TABLE IF EXISTS pbj_db.guguTBL; 2) 테이블 생성 CREATE TABLE pbj_db.guguTBL (txt VARCHAR(100)); 3) 프로시저 존재 시 삭제 DROP PROCEDURE IF EXISTS whileProc; 4) 본문 - DELIMITER 를 이용해 문단 위치 설정(DELIMITER 안에서 한번만 실행하면 전체 구문 다 돔) - whileProc이라는 프로시저 생성 - 출력문을 저장하기 위한 str, 구구단의 앞자리 수와 뒷자리 수를 받기 위한 i, k 선언 - while 문을 이용한 반복문 DELIMITER $$ CREATE PROCEDURE whileProc() ..
0. 목표 - MySQL 내에서 VIEW 테이블의 생성 및 삭제 연습 1. 장단점 - 링크 참조 2. 실습 1) 데이터 준비 - 링크 참조 2) view 테이블 생성 - country 마다의 profit의 합계를 저장하는 테이블 생성 CREATE VIEW view_test AS SELECT country, SUM(profit) FROM pbj_db.window_test GROUP BY country; 3) 확인 SELECT * FROM view_test; - 결과 4) 삭제 DROP VIEW view_test; 3. 참고 - view 테이블 장단점 - view 테이블 관련 명령어
0. 목표 - MySQL의 window 함수 사용 1. 실습 1) 실습용 테이블 생성 CREATE TABLE pbj_db.window_test ( year INT NOT NULL, country VARCHAR(32) NOT NULL, product VARCHAR(32) NOT NULL, profit INT NOT NULL ) ENGINE = INNODB; 2) 데이터 삽입 INSERT INTO pbj_db.window_test(year, country, product, profit) VALUES(2000, 'Finland', 'Computer', 1500); INSERT INTO pbj_db.window_test(year, country, product, profit) VALUES(2000, 'Finla..
1. Brew를 사용한 설치 brew install mysql 2. 확인 - brew list를 통해 결과에 mysql이 있는지 확인 brew list 3. mysql 실행 - 비밀번호는 컴퓨터 비밀번호 mysql -uroot -p 4. 참고 - 설치 및 설정
이 페이지는 아사이 아츠시 님의 SQL 첫걸음 중 INSERT 문을 참조 했습니다. 보다 자세한 설명은 책을 참고 부탁드립니다. 1. INSERT로 행 추가하기 식 INSERT INTO 테이블명 VALUES(값1, 값2 ...) 응용 INSERT INTO Table_name VALUES(123, 'abc', '2019-09-17'); 2. 열 지정하여 데이터 추가 식 INSERT INTO 테이블명(열이름1, 열이름2, ...) VALUES('1에 넣을값', '2에 넣을값', ...) - 열이름은 순서가 바껴도 상관없음(대신 뒤의 값도 순서를 맞춰줘야 함) - 지정을 하지 않은 열은 기본값으로 입력됨 - NOT NULL로 되있는 경우, 값을 입력하여 주지 않았을 때 에러 발생 3. 명시적 디폴트 지정 응용..