ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python 문법 기초 32 - 개인용 DB : sqlite3
    Python 2022. 10. 22. 17:31

     

    # 개인용 DB : sqlite3 : 파이썬 기본 개인용 데이터베이스
    
    import sqlite3
    print(sqlite3.sqlite_version)
    
    print()
    conn = sqlite3.connect('exem.db')
    
    try:
        cursor = conn.cursor() # SQL문 처리
        
        # table 생성 SQL문은 ""를 사용하는 것이 좋다.
        cursor.execute("create table if not exists fritab(name text, phone text)")
        
        # 자료 추가
        cursor.execute("insert into fritab(name,phone) values('한국인','111-1111')")
        cursor.execute("insert into fritab values('우주인','222-1111')")
        cursor.execute("insert into fritab values(?,?)", ('신기해','333-1111'))
        inputdata = ('신기루','444-1111')
        cursor.execute("insert into fritab values(?,?)", inputdata)
        conn.commit() # java는 오토 commit 이지만 파이썬은 수동이다.
    
        # select
        cursor.execute("select * from fritab")
        print(cursor.fetchone()) # 한개만 읽는다.
        print(cursor.fetchall()) # 모두 읽는다.
    
        
    
    except Exception as e:
        print('err : ', e)
        conn.rollback()
    finally:
        conn.close()
    
    
    <console>
    3.38.2
    
    ('한국인', '111-1111')
    [('우주인', '222-1111'), ('신기해', '333-1111'), ('신기루', '444-1111'), ('한국인', '111-1111'), ('우주인', '222-1111'), ('신기해', '333-1111'), ('신기루', '444-1111'), ('한국인', '111-1111'), ('우주인', '222-1111'), ('신기해', '333-1111'), ('신기루', '444-1111'), ('한국인', '111-1111'), ('우주인', '222-1111'), ('신기해', '333-1111'), ('신기루', '444-1111'), ('한국인', '111-1111'), ('우주인', '222-1111'), ('신기해', '333-1111'), ('신기루', '444-1111')]

    table 생성 SQL문은 ""를 사용하는 것이 좋다.

    SQL문은 ;을 사용하지 않는다.(오라클 제외)

    파일이 있으면 안 만들어진다. SQL 테이블도 테이블 명이 존재하면 만들어지지 않는다.

    fetchone() 함수는 데이터를 한개만 읽는다.

    fetchall() 함수는 데이터를 모두 읽는다.

    java는 오토 commit 이지만 파이썬은 수동이다.

     

     

    댓글

Designed by Tistory.