데이터베이스 자료입력할때 궁금한점이 있습니다.?

조회수 572회

테이블1,테이블2,테이블3 이런식으로 만들어 놓고 테이블1,2 자료를 연산하여 테이블3에 삽입할때 sql문으로 하는게 너무 어려워ㅜㅜ 프로그래밍으로 필요한 데이터를 만든 후 테이블3에 넣을려고하는데 방법은 실무에서는 어떻게 하는지 궁금합니다.

예1) 이벤트발생시 sql문으로 테이블1,2를 inner join및 조건 결과값 연산
insert 테이블3 into (a,b,c,d)
select 테이블1값*테이블2값 from 테이블1 inner join 테이블2 on 조건 = 조건
주절주절.....순수sql문으로만 작업하여 테이블3에 삽입

or

예2) select 문으로 필요한 테이블1,2값을 놓고 파이썬을 이용하여 가공 후 리스트로 저장
저장된 리스트or변수 기타등등...
모듈.exetue( insert into 테이블3 (a,b,c,d) values ({},{},{},{}).format(a,b,c,d))
모듈.commit
파이썬, 해당db모듈 이용하여 삽입

예제2번 방식으로는 할 수 있겠는데 sql문 만으로는 아직 많이 몰라서 ㅜㅜ sql문으로 만들면 더빠르고? 관리할때 편할것 같은데... 뭔가 표준?스럽지 않을것같아 질문드립니다.

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    실무에서 두가지 방법 다 사용합니다. 첫번째 방법의 장점은 여러 레코드를 하나의 insert 구문으로 입력할 때 혹은 서버측에서 데이터 가공이 없을시 용이한 방법입니다.

    '표준' 이라는 방법은 없습니다. 아마도 파이쏘닉한 방법이 아닌가? 뭔가 더 스마트한 방법이 있지 않을까? 이런 의미라면 sql 은 python 이 아니라고 말씀드리고 싶네요.

    물론 orm 모듈을 사용하면 쿼리를 직접 작성하지 않고도 데이터베이스 작업을 할 수 있습니다만 orm도 sql로 변환후 sql이 수행되므로 sql을 알고 하는 것과는 큰차이가 있습니다.

    시간을 내어 데이터베이스 공부를 하는 것을 추천드립니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)