ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 13. DB: DB data 다루기 - 1
    공부합시다!/python 2023. 2. 7. 00:12
    728x90

    오늘은 생성한 DB에서 Table을 조회하는 방법에 대해서 살펴보겠습니다.

    기존의 DB구문과 차이가 없으니 가볍게 보면서 실습해 보시기 바랍니다.

     

    '''
    다양한 테이블 조회
     1. SQLite 기본 사용법
     2. select
     3. where
     4. Tuple, Dictionary Mapping
    '''
    
    import sqlite3
    
    conn = sqlite3.connect('./resource/database.db') # DB경로
    
    c = conn.cursor()
    
    # 데이터 조회(전체)
    c.execute("select * from users")
    
    # 커서 위치 변경
    # 1개 로우 선택
    #print('One -> \n', c.fetchone())
    
    # 지정 로우 선택
    #print('Three -> \n', c.fetchmany(size=3))
    
    # 전체 로우 선택
    #print('All -> \n', c.fetchall())
    #print('All -> \n', c.fetchall())     # 다음행에는 파일이 없음
    
    # 순회1
    #rows = c.fetchall()
    #for row in rows:
    #  print('retrievel > ', row)
    
    # 순회2  가장 많이 사용
    #for row in c.fetchall():
    #  print('retrieve2 > ', row)
    
    # 순회3
    #for row in c.execute("select * from users order by id desc"):
    #  print('retrieve3 > ', row)
    
    print('-------------------------------------------')
    
    # Where Retrievel
    param1 = (3,)
    c.execute("select * from users where id=?", param1)
    
    print('param1', c.fetchone())
    print('param1', c.fetchall()) # 데이터 없음
    
    # where Retireve2
    param2 = 4
    c.execute("select * from users where id='%s'" %param2)
    
    print('param2', c.fetchone())
    print('param2', c.fetchall()) # 데이터 없음
    
    # Where Retireve3
    c.execute("select * from users where id=:ID", {"ID": 5})
    
    print('param3', c.fetchone())
    print('param3', c.fetchall()) # 데이터 없음
    
    # where Retrieve4
    param4 = (3,5)
    c.execute("select * from users where id in(?,?)", param4)
    
    print('param4', c.fetchone())
    print('param4', c.fetchall()) # 데이터 없음
    
    # where Retrieve5
    c.execute("select * from users where id in(%d, %d)" %(3, 4))
    
    print('param5', c.fetchone())
    print('param5', c.fetchall()) # 데이터 없음
    
    
    # where Retrieve6
    c.execute("select * from users where id=:ID1 or id=:ID2", {'ID1': 2, 'ID2': 3})
    
    print('param6', c.fetchone())
    print('param6', c.fetchall()) # 데이터 없음
    
    
    # Dump (db 백업) 출력
    with conn:
      with open('./resource/dump.sql', 'w') as f:
          for line in conn.iterdump():
            f.write('%s\n' %line)
          print('Dump Print Complete')

    728x90

    '공부합시다! > python' 카테고리의 다른 글

    14. Class  (0) 2023.02.10
    13. DB: DB data 다루기 - 2  (0) 2023.02.08
    12. DB: database 및 table 다루기  (0) 2023.02.06
    11.Function  (0) 2023.02.03
    10.for, while: 흐름제어  (0) 2023.02.02
Designed by Tistory.