본문 바로가기

python

DB - sqlite

sqlite

개인용 DB 로 가벼운 것이 장점이고 java에서도 원한다면 사용이 가능하다

파이썬에는 기본내장되어 있다.

https://www.sqlite.org/index.html

 

execute()로 원하는 sql문을 사용할 수 있다.

자료 insert (추가) 형식은 크게 4가지가 있다.

파이썬은 java랑 다르게 오토커밋이 되지 않아서 직접 commit()을 입력해야한다.

fetchone() 은 하나의 data만 가져온다

fetchall() 은 모든 data를 가져온다

# 개인용 DB : sqlite3 : 파이썬 기본 개인용 데이터베이스

import sqlite3
print(sqlite3.sqlite_version)

print()
conn = sqlite3.connect('exam.db')
conn = sqlite3.connect(':memory:')  # ram에 일시적으로 data가 저장됨 - 테스트용

try:
    cursor = conn.cursor()  # 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()
    
    # select
    cursor.execute("select * from fritab")
    print(cursor.fetchone())
    print(cursor.fetchall())
    
    
except Exception as e:
    print('err : ', e)
    conn.rollback()
finally:
    conn.close()

 

3.38.2

('한국인', '111-1111')
[('우주인', '222-1111'), ('신기해', '333-1111'), ('신기루', '444-1111'), ('한국인', '111-1111'), ('우주인', '222-1111'), ('신기해', '333-1111'), ('신기루', '444-1111')]