mysql db 연결 스크립트 작성하기

lionloopy·2024년 1월 26일

개발일지

목록 보기
3/4
post-thumbnail

[mysql] db 연결 스크립트 작성하기

테스트를 위해 데이터 1000개 정도가 필요했고, 하나하나 수동으로 추가할 수 없고, 추후 또 사용하게 될 수도 있으니 python으로 스크립트를 만들게 되었다.

  1. 우선 python 스크립트를 작성할 것인지, sh 쉘 스크립트를 작성할 것인지 선택한다.
    -> 나의 경우에는 간단하게 python으로 구현하고자 python을 선택했다.
  2. python으로 선택한 경우 add_data.py 파일을 생성한다.
  3. python 스크립트를 실행시키기 위해서는 pymysql import가 필요하고, import 하기 위해서는 설치가 필요하다.
$ pip install pymysql
  1. 그 다음에 db와 연결해주기 위한 부분을 구성한다. pymysql로 연결하고, 필요한 host, port, user, pw, db, charset 정보를 기입한다. 이 때 port는 int값으로 지정해주어야 한다.
db_connection =pymysql.connect(host=HOST, 
                               port=int(PORT), 
                               user=USER, 
                               password=PASSWORD, 
                               db=DB, 
                               charset=CHARSET)
  1. db와 연결이 되었으면 이제 실행시킬 함수를 만들고, 그 함수안에 db 데이터를 추가할 로직을 구현한다.
def add_data():
	try:
		with db_connection.cursor() as cursor:
        
        for i in range(COUNT):
          //넣고 싶은 데이터
          data_id = str(uuuid.uuid4())
          data_name = name 
          //생략

          data_query = 'INSERT INTO 테이블명 (id, name) VALUES (%s, %s)'
          cursor.execute(data_query, (data_id, data_name)

          db_connection.commit()
    except Exception as e:
    	db_connection.rollback()
    finally:
    	db_connection.close()

add_data()
    

차근차근 살펴보자면,
try, except 구문으로 구성해주고, db_connection.cursor()로 연결해준다.
그리고 db 속성에 맞춰 id값, name값을 예시로 들어 추가해주고
그에 맞는 query문을 작성한다.
INSERT INTO 테이블명 구문으로 테이블을 지정해주고, 거기에 id, name값을 넣을거기 때문에 속성 이름에 맞춰 넣어준다.
cursor.execute로 쿼리문과 함께 내가 설정한 데이터값을 넣어준다.
마지막으로 commit 해주면 끝!
만들어진 함수를 add_data()로 실행시켜주면 해당 데이터가 db에 들어가게 된다.
6. 근데 나는 1000개의 데이터를 추가하고 싶었으므로 for i in rance(COUNT) 구문을 넣어주었다.
7. COUNT, PORT, HOST 등 이러한 값들은 변경할 수 있으므로 변수로 상단에 선언해서 정리해주었다.
8. 마지막으로 add_data.py를 실행시키면 db에 데이터가 들어가게 되는 것을 확인할 수 있다.

$ python3 add_data.py
$ python add_data.py
  1. 그리고 조금 더 깔끔하게 정리하자면, 딸랑 이 파일만 어디에 두기 애매하고, git에 올려 공유하여 다음번에도 사용하고자 했으므로 폴더 구조를 정하고 정리했다.
test
  ㄴadd_data.py  //python 스크립트
  ㄴadd.data.sh  //python 스크립트 실행시키기 위한 sh 스크립트
  ㄴREADME.md    //python 스크립트 사용법 정리
  ㄴdummy_data.csv // 테스트 데이터
  1. 그럼 완벽히 끝!
profile
기록은 담백하게, 성장은 빠르게! 🐘

0개의 댓글