-
SQL) Python with MySQL/CSVSQL 2023. 3. 20. 22:06
설치
pip install mysql-connector-pythonMySQL에 접속하기 위한 코드
import mysql.connector local = mysql.connector.connect( host = "hostname", user = "username", password = "password" )ASW RDS 연결
remote = mysql.connector.connect( host = "end point", port = port, user = "user name", password = "password" # 특정 데이터베이스에 접속하고 싶을 때는 + database = "dbname" )Close Database
local.close() remote.close()쿼리 실행
import mysql.connector mydb = mysql.connector.connect( host = "hostname", user = "username", password = "password", database = "dbname" ) cur = mydb.cursor() cur.execute("query")💥 읽어올 값이 많을 경우(ex. select)
mycursor = remote.cursor(buffer=True)SQL 파일 실행
mycursor = mydb.cursor() sql = open("filename.sql").read() mycursor.execute(sql)파일 내에 쿼리가 여러개인 경우
sql = ("filename.sql").read() result = mycursor.execute(sql, multi=True)Fetch all: 레코드 배열형식으로 저장
mycursor.execute("query") result = mycursor.fetchall() for data in result: print(data)Python with CSV (CSV에 있는 데이터를 파이썬으로 insert)
1. csv 파일을 pandas로 읽어와서 데이터 확인
import pandas as pd df = pd.read_csv("filename.csv") df.head()2. 데이터베이스 연결
import mysql.connector conn = mysql.connector.connect( host = "end point", port = port, user = "username", database = "dbname" )3. INSERT문 만들기
sql = "INSERT INTO police_station VALUES(%s, %s)"4. 데이터 입력
for i, row in df.iterrows(): cursor.execute(sql, tuple(row)) print(tuple(row)) conn.commit()commit()는 database에 적용하기 위한 명령
5. 결과확인
cursor.execute("select * from police_station") result = cursor.fetchall() for row in result: print(row)'SQL' 카테고리의 다른 글
SQL) 집계함수(Aggregate Functions) (0) 2023.03.21 SQL) PRIMARY KEY, FOREIGN KEY (1) 2023.03.21 SQL) RDS 접속, SQL FILE 실행, 백업 (0) 2023.03.17 SQL) CONCAT, ALIAS, DISTINCT, LIMIT (0) 2023.03.16 SQL) union (0) 2023.03.16