반응형
mysql에서 스키마 및 테이블 생성
recipe 테이블
user 테이블
DB, 메모리에 접속할 수 있는 유저 생성
use mysql;
create user 'recipe_user'@'%' identified by 'yes1';
grant all on recipe_db1.* to 'recipe_user2'@'%';
ㄴ 부가설명은 하기 포스팅 참고:
https://yeo0616.tistory.com/169
mysql쿼리문 작성 및 잘 동작하는지 확인
use recipe_db1;
select * from recipe;
insert into recipe
(name, description, cook_time, directions)
values
('김치찌개','맛있는 김치찌개 만드는 방법', 30, '먼저 고기를 볶은 후, 물을 넣고, 김치넣고, 끓인다');
DB 연결의 순서는 잘 기억하자
데이터 insert:
1. DB에 연결 2. 쿼리문 만들기 3. 커서를 가져온다. 4. 쿼리문을 커서를 이용해서 실행한다. 5. 커넥션을 커밋해줘야 한다 => 디비에 영구적으로 반영하라는 뜻 6. 자원 해제 |
- mysql에서 잘 작동한다면, vscode로 들고온다.
import mysql.connector
from mysql_connection import get_connection
name = '순두부찌개'
description = '된장찌개'
cook_time = 30
directions = '이렇게 저렇게 끓인다'
try :
# 데이터 insert
# 1. DB에 연결
connection = get_connection()
# 2. 쿼리문 만들기
query = '''insert into recipe
(name, description, cook_time, directions)
values
(%s,%s,%s,%s );'''
record = (name, description, cook_time, directions)
# 3. 커서를 가져온다.
cursor = connection.cursor()
# 4. 쿼리문을 커서를 이용해서 실행한다.
cursor.execute(query,record)
# 5. 커넥션을 커밋해줘야 한다 => 디비에 영구적으로 반영하라는 뜻
connection.commit()
# 6. 자원 해제
cursor.close()
connection.close()
except mysql.connector.Error as e :
print(e)
cursor.close()
connection.close()
쿼리문에 변수가 하나일경우:
반드시 튜플로 표시한다.
이유는 cursor.execute()의 두번째 인자로 들어가는 데, 두번째 인자는 튜플로 입력해야하기 때문.
반응형
'BackEnd > Python-Flask' 카테고리의 다른 글
[백엔드] Flask: recipe 프로젝트: API 조회/수정/삭제: GET/PUT/DELETE (0) | 2022.06.27 |
---|---|
[백엔드] Flask: recipe 프로젝트: API 설계, 새로운 데이터 작성: POST (0) | 2022.06.27 |
[백엔드] Flask: Python 으로 DB 삭제, delete (0) | 2022.06.26 |
[백엔드] Flask: Python 으로 DB 수정, Update (0) | 2022.06.26 |
[백엔드] Flask: Python에서 DB에 데이터 insert (0) | 2022.06.26 |