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

조회수 82회

테이블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을 알고 하는 것과는 큰차이가 있습니다.

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

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

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.