SQLite3

데이터베이스를 파이썬과 연결해서 쓸 때, SQLite를 사용하고자 한다면 파이썬에서 SQLite3를 이용해 쓸 수 있다.

여러가지 실습을 해봤지만 아직 파이썬을 왜 연결해서 쓰는지 정확하게 모르겠다. dbeaver이용하면 되는데 왜 파이썬을 쓰지?
일단, 내 생각에 dbeaver는 데이터 조회용이고, 파이썬에 데이터베이스를 연결하면 데이터를 조작?할 수 있어서 사용하는거라고 생각하고 있다.

터미널에서...
가상환경 키고, 해당 파일 들어가서

  1. 파이썬 키고
python
  1. sqlite불러오고
import sqlite3
  1. 데이터베이스 연결
  • 해당 데이터베이스 없으면 파일을 생성하고, 있으면 해당 파일로 이동
  • dbeaver에서 new connection과 같은것
conn = sqlite3.connect('데이터베이스이름.db')
  1. dbeaver에서 실행과 같은 것
  • 기능
  • 1)sql문 실행
  • 2)sql문 실행시 각 행을 row by row로 읽어내기
cur = conn.cursor()
  1. 테이블 만들기
cur.execute(""""CREATE TABLE 테이블이름 (
                컬럼이름1 컬럼성질1 성질2 ...,
                컬럼이름2 컬럼성질1 성질2 ...,
                컬럼이름3 컬럼성질1 성질2 ...);
            """)
  1. 테이블에 값 넣기
cur.execute("INSERT INTO 테이블이름 VALUES('값1', '값2', '값3')")
  • 리스트로 된 데이터를 테이블에 넣기
litst_data = [
    [값1, 값2, 값3],
    [값1, 값2, 값3],
    ...
]
cur.executemany("INSERT INTO 테이블이름 VALUES(?,?,?), list_data)
  • execute(sql,[,parameters])공식문서
    Executes an SQL statement. Values may be bound to the statement using placeholders.
    - placeholders: Put a placeholder wherever you want to use a value, and then provide a tuple of values as the second argument to the cursor’s execute() method.
    - An SQL statement may use one of two kinds of placeholders: question marks (qmark style) or named placeholders (named style).
# This is the qmark style(must be a sequence):
cur.execute("insert into lang values (?, ?)", ("C", 1972))

# The qmark style used with executemany():
lang_list = [
    ("Fortran", 1957),
    ("Python", 1991),
    ("Go", 2009),
]
cur.executemany("insert into lang values (?, ?)", lang_list)

# And this is the named style(either a sequence or dict):
cur.execute("select * from lang where first_appeared=:year", {"year": 1972})
print(cur.fetchall())
  1. commit
conn.commit()

8.연결 해제

conn.close()

좋은 웹페이지 즐겨찾기