python 에서 mysql 쿼리 실행
1. 파이썬 이용하여 테이블 생성 및 삭제 쿼리 실행
- AWS의 RDS에 연결한 zerobase 데이터베이스에, sql_file 이라는 테이블을 만드는 쿼리를 실행한다. 커서를 하나 만들어서, 커서를 통해 쿼리를 execute() 이용하여 실행하고 db를 닫는다.
- 테이블 삭제도 마찬가지로, excute() 로 쿼리를 실행한다.
2. sql file 만들어서 파이썬에서 실행
1) 실행할 파일애 쿼리가 하나일 때
- 쿼리를 바로 파이썬 파일에서 실행하는것이 아니라, 쿼리 파일을 만만들어서 그것을 파이썬 파일에서 실행하는 방법이다. test03.sql 으로 sql 파일을 하나 만들어 테이블을 생성하는 문을 작성한다.
- 파이썬 노트북 파일에서, 작성했던 teset03.sql 파일을 open()열고 read()로 읽어서 실행함으로써 쿼리를 실행할 수 있다.
2) 실행할 파일에 쿼리가 여러개일 때
- multi=True 옵션을 추가해야한다. car.execute(sql,multi=True)로 muti 옵션만 지정해 주어도 되는데, 쿼리문이 실행되는걸 보기위해 for문을 사용하였다.
3. fetch all
- 테이블의 데이터 값을 조회할 때 사용한다. 이 때, 읽어야할 데이터값이 많다면 buffered = True 옵션을 추가해준다.
- 커서를 만들고 execute를 통해 쿼리를 실행한다. 데이터를 가져오는 쿼리를 실행했다. result 변수에, 실행한 쿼리의, 데이터 값들을 가져오는 fetchall() 을 사용했다. fetchall()을 사용하면 모든 데이터값을 튜플의 형태로 리스트에 담아 출력한다.
- 리스트에 담긴 튜플값들인 result 값을 for 문을 통해 조회해 보면 한 줄 씩 출력된다. 판다스의, DataFrame 함수를 통해 result 값을 바로 데이터프레임으로 만들수 있다.