분류 전체보기
-
[Node.js & MySQL] 데이터 처리방식: 파일 -> MySQL 이식생활코딩/WEBn 2020. 12. 9. 18:03
[강의 출처] opentutorials.org/course/3347 Node.js - MySQL - 생활코딩 수업소개 이 수업은 Node.js와 MySQL을 이용해서 웹애플리케이션을 만드는 방법에 대한 수업입니다. 수업대상 예를들어 1억 개의 페이지로 이루어진 웹사이트에서 필요한 정보가 파일에 하나하나 opentutorials.org 데이터 리스트 얻기 기존에는 파일 시스템을 이용했었기 때문에, 데이터 리스트를 얻으려면 아래처럼 파일 시스템을 읽어와야 했다. fs.readdir('./data', function(err, dataList){ /* code */ }; 이제 데이터는 MySQL에 저장되므로 이 부분은 이렇게 대체해야 한다. /* var db = mysql.createConnection({ ho..
-
[데이터수집] 한국거래소 정보 가져오기Python/텔레그램봇:채권모니터링 2020. 12. 2. 17:47
한국거래소 시장정보 페이지를 보면 가격이나 거래량 등의 정보가 있다. marketdata.krx.co.kr/ 시장정보 marketdata.krx.co.kr 내가 하고 싶은 건 채권 거래 현황 확인. 매수/매도 호가 및 거래량까지 확인할 수 있다. (20분 전까지의 정보만 제공한다) API를 찾아봤지만 확인할 수 없어서 request 방식으로 가져오기로 했다. 다만 페이지가 자바스크립트로 이루어져 있고, 데이터를 조회하려면 약간의 클릭이 필요해서, 일반적인 requests.get 방식으로는 안 가져와진다. 개발자도구 쪽에서 소스보기 및 네트워크 보기 페이지를 뜯어본 결과 GenerateOTP에 쿼리 전송 후 OTP 요청 -> 해당 OTP를 download 쿼리의 Form data에 포함해서 전송하는 방식으..
-
[MySQL] 데이터 삭제 시 백업 테이블로 데이터 옮겨놓기생활코딩/DataBase 2020. 12. 1. 12:10
mysql> INSERT INTO topic_del SELECT * FROM topic WHERE id = 2; [참조 페이지] extbrain.tistory.com/116 [MySQL] 테이블 구조와 데이터 복사 (Table Structure and Data Copy) ▶MySQL 테이블 구조와 데이터 복사 (Table Structure and Data Copy) ▶설명 현재 생성된 테이블을 복사하는 방법에 대해서 정리하도록 하겠습니다. 이 글에서는 총 4가지를 설명하도록 하겠습니다. 테이 extbrain.tistory.com 기존 데이터를 삭제할 때, 백업해둘 필요성이 생겼다. 우선 백업용 테이블을 생성한다. 기존 테이블과 구조가 같아야 하므로 아래와 같이 복사한다. mysql> CREATE TABL..
-
[MySQL] SELECT EXISTS(SELECT * FROM table WHERE col1 = '');생활코딩/DataBase 2020. 12. 1. 10:49
mysql> SELECT EXISTS(SELECT * FROM topic WHERE title = 'apple'); +---------------------------------------------------+ | EXISTS(SELECT * FROM topic WHERE title = 'apple') | +---------------------------------------------------+ | 1 | +---------------------------------------------------+ 1 row in set (0.00 sec) 새로운 데이터를 입력할 때, 해당 데이터가 이미 존재하는지 확인할 때 유용하다. 만약 업데이트인 경우, 아래와 같이 수정한다고 하면 id title colo..
-
[MySQL] 언어설정: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD생활코딩/DataBase 2020. 11. 11. 18:23
글자가 깨진다 Node.js mysql 패키지로 MySQL에 데이터를 넣다가 아래 INSERT INTO 구문에서 에러가 발생하는 것을 확인했다. INSERT INTO topic (title, logo, industry, founded, founders, revenue, description) VALUES ('Microsoft', 'https://uplo ad.wikimedia.org/wikipedia/commons/thumb/9/96/Microsoft_logo_%282012%29.svg/200px-Microsoft_logo_%282012%29.svg.png', 'Software development, Computer hardware, Consumer electronics, Social networking..
-
[MySQL] ALTER TABLE table ... TIMESTAMP생활코딩/DataBase 2020. 11. 8. 15:59
기존에 DATETIME으로만 지정했던 컬럼에 기본값을 넣어줄 필요가 생겼다. INSERT INTO 당시의 시간을 기본값으로 하려면 아래와 같이 하면 된다. ALTER TABLE tableName MODIFY columnName TIMESTAMP DEFAULT CURRENT_TIMESTAMP; 업데이트됐을 때 시간도 변경하고 싶다면, 아래처럼 ON UPDATE 구문을 추가해주면 된다. ALTER TABLE tableName MODIFY columnName TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP; CURRENT_TIMESTAMP 함수는 MySQL 5.6 이후 버전부터 지원해준다고 한다. 버전 확인은 방법은 아래와 같다. mysql> ..
-
[Node.js & MySQL] Intro, 환경설정생활코딩/WEBn 2020. 11. 3. 15:34
[강의 출처] opentutorials.org/course/3347 Node.js - MySQL - 생활코딩 수업소개 이 수업은 Node.js와 MySQL을 이용해서 웹애플리케이션을 만드는 방법에 대한 수업입니다. 수업대상 예를들어 1억 개의 페이지로 이루어진 웹사이트에서 필요한 정보가 파일에 하나하나 opentutorials.org 필요성 & Intro. 기존에 Node.js로 작성했던 Web2 페이지에서는 유저 게시판 기능(HTML Form - post)을 file 생성/편집 형태로 구현했었다. 여기에 검색, 정렬 기능을 추가하거나, 기존 데이터 양식을 일괄 변경하는 등의 작업이 필요하다면 데이터베이스를 사용하는 것이 바람직하다. (파일 시스템으로 처리하기는 너무 번거로운데다, DB를 이용하면 보안,..