데이터베이스(db)/SQLite

[Python] SQLite DB만들기, 테이블 생성하기(memory, file, table)

끄적끄적아무거나 2022. 9. 7. 08:55

 

목차

     

     

     

     

     

     

    SQLite DB 생성하기

    앞서 포스트에서 SQLite는 상대적으로 가벼운 데이터베이스(Database)로 DB를 메모리 영역에 생성하거나 파일에 생성합니다. 생성은 connect 함수로 실행합니다.

     

    아래 입력 값에 따라 메모리 또는 파일에 데이터베이스를 생성합니다.

    생성 함수: connect
    입력 값: ":memory:", "파일명"

     

    예제 코드>>

    import sqlite3
    from sqlite3 import Error
    
    try:
        con = sqlite3.connect(':memory:')
        # con = sqlite3.connect('test.db')
        print("DB created in memory")
    except Error:
        print(Error)
    finally:
        con.close()

    5번 라인: connect에 입력 값 :memory:를 입력할 경우 메모리에 db가 생성됩니다.

    6번 라인: 파일명을 입력할 경우 test.db 파일이 동일 폴더에 생성됩니다.

     

     

     

     

     

    SQLite Table 생성하기

    DB를 생성하였으니 DB안에 테이블을 만들어서 사용해보겠습니다. 참고로 SQLite를 윈도우 화면에서 쉽게 GUI로 볼 수 있는 무료 프로그램을 https://github.com/sqlitebrowser/sqlitebrowser/releases/tag/v3.11.0-beta3 에서 다운 받을 수 있습니다. 

     

    테이블 생성을 만들기 위해서는 파이썬에서 execute 함수를 사용해서 SQLite 명령어를 실행합니다. 그리고 commit 함수를 사용해서 변경 내용을 저장해줍니다.

     

     

    예제 코드>>

    import sqlite3
    from sqlite3 import Error
    
    def connection():
        try:
            con = sqlite3.connect('test.db')
            return con
        except Error:
            print(Error)
    
    def create_table(con):
        cursor_db = con.cursor()
        cursor_db.execute("CREATE TABLE checkup(id integer PRIMARY KEY, Name text, Height real, Weight real, Measured_date text)")
        con.commit()
    
    con = connection()
    create_table(con)

    6번 라인: connect를 사용해서 test.db 파일에 데이터베이스를 생성합니다.

    13번 라인: execute로 CREATE TABLE을 사용해서 DB안에 테이블을 생성합니다. id, name, height, weight, date를 입력값으로 넣고 변수 종류를 지정합니다. 

    14번 라인: 변경한 내용을 commit으로 저장합니다.

     

     

    결과>>