우잉's Development

파이썬으로 DB연동 본문

개발/SQLite3

파이썬으로 DB연동

우잉이 2021. 12. 23. 13:14
728x90
반응형

1. DBMS (DataBase Management System)

    :데이터베이스를 관리하는 시스템

     DBMS종류는 SQLite, Oracle, MS-SQL, MarisDB, PostgreSQL등 다양

     DB를 관리하기 위해서는 SQL(Structured Query Language)을 사용.

    즉, 구조화된 쿼리(질의)언어의 기본적인 문법을 활용한다. 

2. DB Browser for SQLite설치

      :파이썬으로 DB를 다루기 전에 데이터베이스를 한 눈에 볼 수 있는 (GUI)브라우저를 하나 설치. 

       DB Browser for SQLite(DB4S)라는 프로그램 https://sqlitebrowser.org 에서 설치 가능

       DB4S 란? SQLite와 호환되는 데이터베이스 파일을 생성, 디자인 및 편집할 수 있는 고품질의 시각적 오픈소스 도구.

 

 3. python SQLite라이브러리 블러오기 및 버전 확인

   import sqlite3

   print(sqlite3.version) # 2.6.0
   print(sqlite3.sqlite_version) #3.22.0

 4. DB 연결, 커서 연결

# DB test.db 생성 -> auto commit
conn = sqlite3.connect("test.db", isolation_level =None)

#커서 획득
c = conn.cursor()

# 테이블 생성
c.execute("CREATE TABLE IF NOT EXISTS table1 (id integer PRIMARY KEY, name text, birthday text)")

c.execute("CREATE TABLE IF NOT EXISTS 테이블 명()") : 괄호 안에 있는 문장은 쿼리이며 테이블 명인 table1 (없으면 만들어라)에 id, name, birthday 라는 컬럼을 만드로 id는 integer타입이며 중복이 불가하고 name과 birthday는 text타입이다.  필드명>데이터 타입>제약조건 순으로 입력한다. (참고: primary key는 테이블 내에 있는 레코드를 식별하는 고유키이며, 유일하다 즉, 중복이 불가하다.) 

 

※알아 두어야 할 개념들

   1. commit 과 rollback

      conn.commit() : '수정사항을 DB에 반영한다'라는 뜻을 가지며 commit을 하지않으면 수정작업에 대한 기록을

                           컴퓨터 메모리 같은데 임시로 가지고 있을 뿐 실제로 DB에 반영하지는 않은다.

                           수정하려면 마지막에 반드시 commit은 필수!!!

      conn.rollback() : 변경사항을 취소한다는 의미를 가지며, 전에 해놓은 commit까지 돌아가게 된다.

   2.  cursor

      : 파이썬에서 파일을 읽고 쓰려면 커서를 가져와야한다. 그래서 conn.cursor()로 일단 커서를 생성한다.

   

5. DB연결 해제하기 

conn.close()

데이터베이스를 연결해서 이런저런 수정을 하면 마지막엔 그 연결을 해제해야 한다. 위 명령어로 해제하면 된다.

 

728x90
반응형

'개발 > SQLite3' 카테고리의 다른 글

SQLite3_Table 2_제약 조건1  (0) 2021.12.28
SQLite3 _ Table 1  (0) 2021.12.28
SQLite 기본 명령어 사용하기  (0) 2021.12.28
SQLite3 설치하기  (0) 2021.12.28
SQLite3 사용법 [Python]  (1) 2021.12.23
Comments