[TIL]Python with MySQL

썹스·2024년 2월 10일

SQL

목록 보기
10/17

📌 Python with MySQL

파이썬을 DB에 연결하여 사용한면 데이터를 입력, 수정, 조회, 삭제하는 등의 SQL 활용도를 높일 수 있다.

파이썬에서 MySQL에 접속 후 사용하는 방법은 아래와 같다.

사전 준비

  • 파이썬에서 MySQl을 사용하기 위해서는 먼저 MySQL Driver를 설치해야 한다.
pip install mysql-connector-python
  • 설치 확인
    아래 명령어가 문제없이 실행되면 설치 완료
import mysql.connector

✅ MySQL에 접속하기

파이썬으로 MySQl에 접속하기 위한 문법은 아래와 같다.

  • LocalDB 연결 문법
xxx = mysql.connecter.connect(
   host = "<hostname>",
   user = "<username>",
   password = "<password>"
)


local = mysql.connecter.connect(
   host = "localhost",
   user = "root",
   password = "******"
)


//특정 DB에 바로 연결
local = mysql.connecter.connect(
   host = "localhost",
   user = "root",
   password = "******"
   database = "local_testDB"
)
  • Amazon RDS 연결 문법
xxx = mysql.connecter.connect(
   host = "<hostname>",
   port = 포트번호,
   user = "<username>",
   password = "<password>"
)


remote = mysql.connecter.connect(
   host = "엔드포인트번호",
   port = 3306
   user = "admin",
   password = "******"
)


//특정 DB에 바로 연결
remote = mysql.connecter.connect(
   host = "엔드포인트번호",
   port = 3306
   user = "admin",
   password = "******"
   database = "remote_testDB"
)

✅ MySQL 접속 끊기

파이썬으로 연결된 MySQL 접속을 끊기 위해서는 close() 함수를 사용하면 된다.

//LocalDB 접속 끊기
local.close()

//remoteDB 접속 끊기
remote.close()

✅ SQL쿼리 실행하기

파이썬으로 SQL쿼리를 실행하기 위한 문법은 아래와 같다.

xxx = mysql.connecter.connect(
   host = "<hostname>",
   user = "<username>",
   password = "<password>"
   database = "<databasename>"
)

cursor = xxx.cursor()
cursor.execute(<쿼리문>)


//테이블 생성 쿼리문 실행하기
xxx = mysql.connecter.connect(
   host = "<hostname>",
   user = "<username>",
   password = "<password>"
   database = "<databasename>"
)

cursor = xxx.cursor()
cursor.execute("create table <생성할 테이블명> (id int, name varchar(16))")

✅ SQL파일 실행하기

파이썬으로 SQL파일을 실행하기 위한 문법은 아래와 같다.

xxx = mysql.connecter.connect(
   host = "<hostname>",
   user = "<username>",
   password = "<password>"
   database = "<databasename>"
)

cursor = xxx.cursor()

sql = open("<실행할 SQL파일 이름.sql>").read()
cursor.execute(sql)

SQL파일 내 여러 쿼리가 존재하는 경우 아래와 같은 문법을 사용해야 한다.

  • 파일 내 여러 쿼리문이 존재하는 경우 multi = True 옵션을 추가해야 한다.
xxx = mysql.connecter.connect(
   host = "<hostname>",
   user = "<username>",
   password = "<password>"
   database = "<databasename>"
)

cursor = xxx.cursor()

sql = open("<실행할 SQL파일 이름.sql>").read()
result = cursor.execute(sql, multi = True)
profile
코린이

0개의 댓글