겉바속촉

[PYTHON] 파이썬_SQLite 연동하기 본문

IT 일기 (상반기)/PYTHON

[PYTHON] 파이썬_SQLite 연동하기

겉바속촉 2021. 1. 12. 13:47
728x90
반응형

 

안녕하세요

겉바속촉입니다

!^^!

 

 

!!파이썬 시작하기!!

 

 

 

 

 

 

 


 

 

 

파이썬에서 DB 연동 방법

 

 

 

방법1.

 

SQLite 설치

 

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

 

SQLite Download Page

Templates (1) and (2) are used for source-code products. Template (1) is used for generic source-code products and templates (2) is used for source-code products that are generally only useful on unix-like platforms. Template (3) is used for precompiled bi

www.sqlite.org

 

 

방법2.

 

파이썬 쉘에서 하는 방법  --> 파이썬에서 SQLite 연동하기

 

import sqlite3
>>> con = sqlite3.connect('population.db')
>>> cur = con.cursor()
>>> cur.execute('create table PopByRegion(region text, population integer)')
<sqlite3.Cursor object at 0x00000193E484C340>
>>> cur.execute('insert into PopByRegion values ("Africa", 330393)')
<sqlite3.Cursor object at 0x00000193E484C340>
>>> cur.execute('insert into PopByRegion values ("Japan", 1005543)')
<sqlite3.Cursor object at 0x00000193E484C340>
>>> con.commit()

 

 

PS C:\python> python

Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec  7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> import sqlite3 # 사용할 데이터베이스에 맞는 모듈을 임포트

>>> con = sqlite3.connect('population.db') # 데이터베이스 생성 및 연결

>>> cur = con.cursor() # 커서를 생성

>>> cur.execute('create table PopByRegion(region text, population integer)') # 테이블을 생성

                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ⇒ SQL 문

<sqlite3.Cursor object at 0x000002287FAB3EA0>

>>> cur.execute('insert into PopByRegion values ("Africa", 330393)')     #테이블에 데이터를 추가

<sqlite3.Cursor object at 0x000002287FAB3EA0>

>>> cur.execute('insert into PopByRegion values ("Japan", 1005543)')

<sqlite3.Cursor object at 0x000002287FAB3EA0>

>>> con.commit()                                             #변경내용을 저장

 

 

이렇게 만들게 되면 PopByRegion이라는 테이블이 생성되었습니다:)

 

 

테이블명 : PopByRegion

region population
Africa 330393
Japan 1005543

 

 

 

현재 도표에 데이터가 저렇게 들어가있는 상태가 되는데요

 

cursor가 데이터를 가리키고 있는 파일 포인터 라고 생각해주세요

그래서 fetchone을 할때마다 커서가 움직이면서 데이터를 뽑아오는 형식을 취하는 겁니다

 

 

전체를 가져오고 싶다면

cur.fetchall()

 

 

 

하지만 현재상태에서는 아마 안나올 것입니다.

커서가 다 읽고 난 상태이기 때문에

다시 실행시켜준 후에 전체 조회 결과를 출력해야합니다.

 

>>> cur.fetchall()
[]
>>>
>>> cur.execute('select region, population from PopByRegion')
<sqlite3.Cursor object at 0x00000193E484C340>
>>>
>>> cur.fetchall()
[('Africa', 330393), ('Japan', 1005543)]
>>>

 

>>> cur.fetchall()

[]

>>> cur.execute('select region, population from PopByRegion')

<sqlite3.Cursor object at 0x000002287FAB3EA0>

>>> cur.fetchall() # 전체 조회 결과를 가져올 때

[('Africa', 330393), ('Japan', 1005543)]

 

 

 

저는 테이블 명 Student 라고 주고 데이터를 다 입력한 후에 출력해봤습니다:)

 

 

 

 

 

728x90
반응형