[파이썬][AI Chatbot] Flask의 데이터베이스 연동 예제
Flask 애플리케이션에서 데이터베이스를 사용하려면 SQL 데이터베이스를 연동하고 데이터를 저장, 조회, 수정, 삭제할 수 있는 방법을 이해해야 합니다. 아래는 Flask에서 SQLite 데이터베이스를 연동하여 데이터를 다루는 예제 코드입니다.
-
SQLite 데이터베이스 설정:
SQLite 데이터베이스를 설정하려면
sqlite3
모듈을 사용할 수 있습니다. 다음은 데이터베이스 연결 및 테이블 생성의 예제입니다.
`import sqlite3
from flask import Flask, g
app = Flask(__name__)
def get_db():
if 'db' not in g:
g.db = sqlite3.connect('mydatabase.db')
return g.db
@app.route('/')
def index():
db = get_db()
cursor = db.execute('SELECT * FROM users')
users = cursor.fetchall()
return str(users)
if __name__ == '__main__':
app.run()`
-
데이터베이스 테이블 생성:
데이터베이스에 테이블을 생성하는 코드입니다.
`def init_db():
db = get_db()
with app.open_resource('schema.sql', mode='r') as f:
db.cursor().executescript(f.read())
db.commit()
@app.cli.command('initdb')
def initdb_command():
init_db()
print('Initialized the database.')`
-
데이터베이스 스키마 설정:
schema.sql
파일을 생성하고 테이블 스키마를 작성합니다.
`DROP TABLE IF EXISTS users;
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL,
email TEXT NOT NULL
);
위의 예제에서는 SQLite 데이터베이스를 사용하여 users
테이블을 생성하고, /
경로에서 데이터베이스에서 사용자 데이터를 조회하는 방식을 보여줍니다. 데이터베이스 연결 및 관리를 위해 get_db
함수와 데이터베이스 초기화를 위한 init_db
함수를 정의하고, app.cli.command
데코레이터를 사용하여 커맨드 라인에서 데이터베이스 초기화 명령을 실행할 수 있도록 합니다.
Flask에서 데이터베이스를 연동하려면 데이터베이스 종류에 따라 다른 모듈을 사용하고, ORM (객체 관계 매핑)을 사용하는 등의 고급 기능을 활용할 수 있습니다. 이를 통해 데이터베이스와의 상호작용을 더욱 효율적으로 관리할 수 있습니다.