본문 바로가기

STUDY/SQL, DB

[MySQL] with Python!

 

이 글은 24.01.23에 본인 벨로그에 작성했던 글을 옮겨 온 것이다.

 

Python with MySQL

환경설정

  1. mysql connector 설치하기
    pip install mysql-connector-python 실행

    본인은 여러 번 설치하느라 이미 설치되어있다는 메시지가 뜬다.

 

mysql.connector import하기

import mysql.conenctor

 

MySQL 연결

MySQL에 연결 할 수도, 특정 DB에 연결할 수도 있다.
=> 특정 DB에 연결하고자 하는 경우, database = 'dbname'을 추가 해주면 된다.

(1) local MySQL에 연결
localdb = mysql.connector.connect(
    host = 'local',
    user = 'username',
    password = 'password'
)

(2) AWS RDS에 연결
remote = mysql.connector.connect(
    host = 'endpoint',
    port = 'portnumber
    user = 'username',
    password = 'password'
)

 

 

연결 해제

connector.close()
mysql server를 다 사용한 후에는, 반드시 close 해 주도록 하자!

 

쿼리 실행하기

  1. mysql 서버에 연결 후, connection.cursur()로, 명령을 수행할 커서를 만든다.
  2. cursor.execute(쿼리문) 으로 쿼리 실행
(1) AWS RDS의 'dbname'이라는 DB에 연결

remote = mysql.connector.connect(
    host = 'database-1.c5seeumg0dko.us-east-1.rds.amazonaws.com',
    port = 3306,
    user = 'admin',
    database = 'dbname',
    password = 'yourpassword'
)


(2) 해당 DB에 sql_file이라는 table 생성

cur = remote.cursor()   
cur.execute('create table sql_file(id int, filename varchar(16))')
# aws rds 서버

remote.close()


잘 생성되었다!

이번엔 테이블을 삭제해보자
역시 "sql 서버 연결 -> 커서 생성 -> 쿼리 수행 -> 연결 해제" 의 동일한 과정을 따른다.

cur = remote.cursor()
cur.execute('drop table sql_file')

remote.close()


잘 삭제되었다!

 

SQL file 실행하기

쿼리 실행 프로세스와 동일하다.
sql 서버 연결 -> 커서 생성 -> 작업 수행 -> 연결 해제.
다만, 이번엔 쿼리 수행이 아닌 SQL 파일 실행이므로, 아래와 같이 SQL 파일을 열고 읽는 코드를 중간에 추가해주어야 한다.
sql_file = open('filename.sql').read()


위 SQL 파일을 실행해 볼 것이다.

# 여기서는 생략했지만, 당연히, sql에 연결을 먼저 해야 한다.

cur = remote.cursor()  
sql_file = open('test03.sql').read()
cur.execute(sql_file)

remote.close()


잘 생성되었다!

'STUDY > SQL, DB' 카테고리의 다른 글

[MySQL] INSERT 함수  (0) 2024.04.04
[MySQL] Scalar Functions  (0) 2024.03.19
[MySQL] CONCAT / SQL file / backup, restore  (0) 2024.03.19
[MySQL] JOIN  (0) 2024.03.19
[DB] DB / DB 생성 / SQL 명령  (0) 2024.03.19