웹개발 기초(SQLite)

김엣취·2024년 6월 27일

웹개발

목록 보기
14/20

0. 준비

  1. 가상환경 세팅
  2. 터미널에 설치
pip install Flask-SQLAlchemy 
  1. 준비코드
from flask import Flask
import os
from flask_sqlalchemy import SQLAlchemy

basedir = os.path.abspath(os.path.dirname(__file__))
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] =\
        'sqlite:///' + os.path.join(basedir, 'database.db')

db = SQLAlchemy(app)

1. database 만들기


설계도를 바탕으로 database.db파일에 DB를 만들어보자!

가상환경 설정하고, 터미널에서

$ flask shell
>>> from app import db, Song
>>> db.create_all()

하고 database.db파일 들어가보면

잘 만들어짐

2. database 조작하기

데이터를 DB에 저장하기

위 코드 눌러준 뒤에 또 터미널에 적으면 됨

>>> song = Song(username="추천자", title="노래제목", 
            artist="가수", image_url="이미지 주소")		-> 데이터 만드는 코드
>>> db.session.add(song)		-> DB에 업로드
>>> db.session.commit()		-> DB에 저장

여러줄 저장하기

song1 = Song(username="추천자", title="노래제목1", 
            artist="가수1", image_url="이미지 주소1")

song2 = Song(username="스파르타", title="노래제목2", 
            artist="가수2", image_url="이미지 주소2")

song3 = Song(username="스파르타", title="노래제목3", 
            artist="가수3", image_url="이미지 주소3")
db.session.add(song1)
db.session.add(song2)
db.session.add(song3)

db.session.commit()

데이터 조회

>>> Song.query.all()

리스트, 딕셔너리처럼 DB 조회하기

song_list = Song.query.all()		-> 할당하기
song_list[0]		-> 리스트의 0번째, 가수 노래제목 추천 by 추천자
song_list[0].title		-> 리스트의 0번째 title, '노래제목'

특정 조건으로 데이터 조회하기

Song.query.filter_by(조건).all()
하나만 가지고 오고싶으면 .first()

데이터 바꾸기

song_data = Song.query.filter_by(id=4).first()		바꿀 데이터를 다른 변수에 할당
song_data.title = '변경된 제목'		바꾸기
db.session.add(song_data)		업로드
db.session.commit()			저장

데이터 삭제하기

delete_data = Song.query.filter_by(id=3).first()		지울걸 다른 변수에 할당
db.session.delete(delete_data)		삭제
db.session.commit()		저장

0개의 댓글