웹구현에 필요한 데이터를 Flask와 Sqlite를 통해서 처리하고자 한다.
이를 위해서 필요한 데이터를 테이블에 적용하는 연습을 하고자 한다.
프로젝트에서는 주로 Sqlite를 이용해 직접 데이터를 입력하였다.
✅ csv 파일 - Flask에서 사용할 column명과 일치 시키기
✅ csv로 입력시 id column도 미리 만들어 둘 것!!
# Import required modules
import csv
import sqlite3
# db에 연결하기
connection = sqlite3.connect('/jeju.db')
# SQL query를 실행하기 위한 cursor 만들기
cursor = connection.cursor()
# Table 만들기 (columns -> id, name, score)
# id 행은 자동으로 할당되는 값으로 데이터 입력시 추가할 필요 없다.
create_table = '''CREATE TABLE TestScore(
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
score INTEGER NOT NULL);
'''
# 만든 Table을 db에 할당하기
cursor.execute(create_table)
# 데이터 입력에 필요한 파일을 불러오기
file = open('#필요한파일#', encoding= 'utf-8')
# 불러온 파일을 할당
contents = csv.reader(file)
# 쿼리문을 이용해 테이블에 값들 넣기위한 준비
# 1) 쿼리문 작성
insert_records = "INSERT INTO TestScore (name, score) VALUES(?, ?)"
# 파일의 데이터를 위에 작성한 쿼리에 따라 입력
cursor.executemany(insert_records, contents)
# 데이터가 테이블에 잘 입력되었는지 확인하기
select_all = "SELECT * FROM person"
rows = cursor.execute(select_all).fetchall()
for r in rows:
print(r)
# commit (반드시 해야 저장됨)
connection.commit()
# db와의 연결을 끊기
connection.close()
(1) flask db migrate
(2) flask db upgrade
(3) 실패시 현재 버전으로
flask db stamp head 후 flask db migrate
(1) flask db migrate
(2) flask db upgrade
(3) 실패시 현재 버전으로
flask db stamp head 후 flask db migrate
(1) 데이터베이스 열기
[파일명]D:\song\practice\project1\web\jeju.db(2) 데이터베이스 구조 확인하기
(3) 데이터 입력