리스트 컴프리헨션으로 데이터베이스를 테이블별로 나누고싶습니다.

조회수 580회
import sqlite3

conn = sqlite3.connect("main.db")
cursor = conn.cursor()

db = [data for i in range(1,3) for data in cursor.execute('select *from test{}'.format(i))]

print(db)

이렇게 테이블조회를 하면[[1,1,1,1]~[1,9,9,9]], [[2,1,1,1]~[2,9,9,9]], [[3,1,1,1]~~[3,9,9,9]] 이런식으로 테이블별로 나누고싶은데 어떻게해야하나요??

  • 댓글에도 써두셨던데...테이블별로 나눈다는 의미가 뭔가요? 업무분석 및 설계를 잘 했다면 데이터모델링에 의해 테이블이 분리되어 있을텐데요. 정영훈 2018.6.9 12:42
  • 간단하게 테이블을 tset1, test2, test3 이런식으로 번호를 붙여 만들었는데 테이블을 불러올때 1번테이블 2번테이블을 2차원 리스트로 넣어서 자료를 불러오면 편할것같아 그렇습니다. 위에 코드에서 `test = []` 리스트 변수를 하나만들고 `tset.append(db)` 하면 테이블 별로 리스트가 만들어지기는 하는데 이렇게 말고는 어떻게해야 할지 궁금합니다. 다크매터 2018.6.11 08:35
  • 관계형 데이터베이스는 그런 용도로 사용하는 것은 아닙니다. 테이블의 크기가 상당할 수 있는데 그것을 전부 메모리에 올리겠다는 발상도 위험해보입니다. 보통은 쿼리로 원하는 데이터만 조회해서 사용하는 겁니다. 정영훈 2018.6.11 13:13
  • 그렇군요!! 정말 좋은 말씀 감사합니다. 다크매터 2018.6.12 10:12

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

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

(ಠ_ಠ)
(ಠ‿ಠ)