본문 바로가기

Python Basics

[패스트캠퍼스 수강 후기] 파이썬 인강 자기계발 챌린지 13 회차 미션

패스트캠퍼스 파이썬 웹개발 올인원 패키지 후기(13)

파이썬 웹개발 올인원 패키지 13 일차 후기 겸 학습기록 입니다.

오늘은 파이썬과 데이터베이스를 어떻게 연동하는지에 대해서 배웠습니다.

파일 처리도 중요하지만, 실제 DBMS와 어떻게 연동하여 파이썬 프로그래밍을 할 수 있는지 공부하였는데요,

강의에서는 SQLite를 예제로 사용하였습니다

파이썬 SQLite 연동, 테이블 생성, 데이터 삽입

파이썬 인강 파이썬 데이터베이스 연동 - SQLite 연동, 테이블 생성, 데이터 삽입

(파이썬 - SQLite 기본)

# 파이썬 데이터베이스 연동(SQLite)
# 테이블 생성 및 삽입

import sqlite3
import datetime

# 삽입 날짜 생성
now = datetime.datetime.now()
print('now :', now)

nowDatetime = now.strftime('%Y-%m-%d %H:%M:%S')
print('nowDatetime :', nowDatetime)

# sqlite3
print('sqlite3.version :', sqlite3.version)
print('sqlite3.sqlite_version :', sqlite3.sqlite_version)

<Output>

now : 2020-06-06 09:53:38.596274
nowDatetime : 2020-06-06 09:53:38
sqlite3.version : 2.6.0
sqlite3.sqlite_version : 3.28.0

( DB 생성 )

# DB 생성 & Auto Commit(Rollback)
conn = sqlite3.connect('C:/python_basic/resource/database.db', isolation_level=None)

( Cursor )

# Cursor
c = conn.cursor()
print('Cursor Type :', type(c))

( 테이블 생성)

# 테이블 생성(Data Type : TEXT, NUMERIC, INTEGER, REAL, BLOB)
c.execute("CREATE TABLE IF NOT EXISTS users(\
    id INTEGER PRIMARY KEY, \
    username TEXT,\
    email TEXT, \
    phone TEXT, \
    website TEXT, \
    regdate TEXT)")

( 데이터 삽입 )

# 데이터 삽입
c.execute("INSERT INTO users VALUES(\
    1, \
    'kIM', \
    'KIM@aaa.com', \
    '000-0000-0000', \
    'Kim.com', \
    ?)", (nowDatetime,))

<DB Browser for SQLite 확인>

# 데이터 삽입 2
# c.execute("INSERT INTO users \
#     (id, username, email, phone, website, regdate) \
#     VALUES(?, ?, ?, ?, ?, ?)",
#     (2, 'Park', 'Park@aaa.net', '000-1111-2222', 'Park.com', nowDatetime))

# Many 삽입(튜플, 리스트)
userList = (
    (3, 'Lee', 'Lee@bbb.abc', '222-2222-2222', 'Leee.aaa', nowDatetime),
    (4, 'Jo', 'Jo@ddd.abc', '333-3333-3333', 'jo.ada', nowDatetime),
    (5, 'Yoo', 'Yoo@ccc.abs', '444-4444-4444', 'Yoo.ccc', nowDatetime)
)

# c.executemany("INSERT INTO users(id, username, email, phone, website, regdate) VALUES (?, ?, ?, ?, ?, ?)", userList)


# 테이블 데이터 삭제
# conn.execute("DELETE FROM users")
# print("USER DB DELETED : ", conn.execute("DELETE FROM users").rowcount)

# 커밋 : isolation_level = None 일 경우 자동 반영(오토 커밋)
# conn.commit()

# 롤백
# conn.rollback()

# 접속 해제
conn.close()

 

SQLite DB를 연동하고 테이블을 생성하고 데이터를 삽입하고 삭제하는 방법은 배웠습니다.

좀 더, 연습을 통해 익숙하게 만들어야 하겠습니다!

내일은 계속해서, 생성한 테이블을 조회하는 방법에 대해서 자세히 배워볼 예정입니다.

 

 

 

패스트캠퍼스 파이썬 인강 자세한 내용은 아래 링크를 참고해 주세요!

 

https://bit.ly/2WG0IXN