#2. MySQL로 손풀기
지난 번에 만들었던 H4Pay와는 다르게 DB를 mongoDB가 아니라 MySQL을 쓰기로 했다. 인트라넷이라는 특성 상 많은 정보가 오랫동안 저장되어야 하고, 데이터의 양도 많기 때문에 RDBMS를 사용하는 편이 더 관리하기 쉬울 것으로 예상했다.
오늘은 손풀기 겸 MySQL을 미리 사용해보려고 사이트에 추가할 기능 중 하나인 '오늘의 명언'에 사용할 명언 DB를 만들었다. 구글링으로 명언과 영단어 약 15000개 이상이 담긴 SQL 파일을 찾았는데, 필요 없는 내용들을 지우면 일일히 번호 매기기가 힘들어서 CSV로 변환하고 엑셀로 작업하려 했다. 하지만 엑셀의 골치아픈 CP949 인코딩으로 인해 글자가 다 깨져서 나왔다. CSV 서식 문제도 있었기에 번호를 다시 매기는 데만 약 1시간 이상을 썼다.
무엇보다 더 오래 걸렸던 건, 필요 없는 내용을 다 지우고도 8000개 가량이 되는 Row들의 쿼리를 날리는 일이었다.
너무 많아서 다 추가하는 데 약 10~20분이 걸렸다. 서식이 잘못된 것들을 지운 것까지 하면 약 2시간은 쓴 듯 하다.
결과물은 나왔으니 아무래도 좋다.
지금 생각해보면, serial에 자동 증가를 적용했으면 따로 CSV 작업을 하지 않고 바로 word만 삽입해도 번호는 자동으로 매겨주는 것 아닌가?
고생만 했다.
오늘 쓴 SQL 구문
CREATE TABLE today_proverb ( serial INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, word TEXT NOT NULL, UNIQUE KEY serial (serial) ) // today_proverb라는 이름의 테이블 생성, serial은 Unsigned INT형에 word 삽입 시 자동 증가, word는 TEXT형, 유니크 키는 serial로 지정 SELECT * FROM today_proverb; // 모든 Row 조회 INSERT INTO today_proverb (serial, word) VALUES (번호, 명언); // 테이블에 Row 삽입
Author And Source
이 문제에 관하여(#2. MySQL로 손풀기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bin3635/2.-손풀기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)