프로그래밍/PYTHON

flask와 sqlite3

msh1307 2022. 6. 2. 22:25

간단하게 코드를 짜보았다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from flask import *
import sqlite3
 
db= sqlite3.connect('database.db')
cur = db.cursor()
cur.execute('''
    CREATE TABLE IF NOT EXISTS users ( 
        idx INTEGER PRIMARY KEY,
        id VARCHAR(15) NOT NULL,
        pw VARCHAR(15) NOT NULL
)
''')
cur.close()
db.commit()
db.close()
 
def insert(id, pw):
    db= sqlite3.connect('database.db')
    cur = db.cursor()
    cur.execute(f"INSERT OR IGNORE INTO users (id, pw) VALUES ('{id}','{pw}')")
    cur.close()
    db.commit()
    db.close()
    
insert('admin','admin')
insert('guest','guest')
 
def select(id):
    db = sqlite3.connect('database.db')
    cur = db.cursor()
    cur.execute(f"SELECT * FROM users WHERE id = '{id}'")
    res = cur.fetchall()
    return str(res)
 
@app.route('/')
def index():
    return select('admin')
 
cs

기본적으로 SQL문법 그대로 사용하면 된다. 

 

sqlite3.connect('database.db')를 통해서 데이터베이스에 접속할 수 있고, connection 객체를 리턴한다.

cursor()는 cursor 객체를 리턴한다.

execute()로 쿼리문을 실행시킬 수 있다.

fetchall()은 쿼리 문의 결과를 리스트 형태로 리턴한다.

리스트의 요소가 튜플로 리턴되기 때문에 list()를 사용해서 리스트로 변환해서 쓰는 것이 좋다.

 

 

'프로그래밍 > PYTHON' 카테고리의 다른 글

flask  (0) 2022.06.02