파이썬 MySQL 연결 및 활용 방법

들어가며

MySQL은 데이터베이스 관리 시스템(DBMS) 중 하나로, 파이썬과 함께 사용할 수 있는데요. 이번 포스팅에서는 파이썬을 사용하여 MySQL 데이터베이스에 연결하고 데이터 조작을 해보는 예시에 대해 알아보도록 하겠습니다.

 

 

[목차]

1. MySQL 연결하기

2. 데이터베이스 생성하기

3. 테이블 생성하기

4. 데이터 조작 해보기

4-1. 데이터 추가하기(INSERT)

4-2. 데이터 조회하기(SELECT)

4-3. 데이터 수정하기(UPDATE)

4-4. 데이터 삭제하기(DELETE)

5. 마무리

 

 

MySQL 연결하기

파이썬에서 MySQL 데이터베이스에 연결하기 위해서는 ‘pymysql’ 라이브러리를 설치해야 하는데요. 아래 pip 명령어를 이용하여 설치를 진행하시면 되겠습니다.

 

 

새창으로 열기
새창으로 열기

 

 

코드 복사는 위 사진과 같이 새창에서 열기 버튼을 클릭하시면 복사가 가능합니다.

 

 

pip install pymysql

 

 

설치가 완료되면 import pymysql 문을 사용하여 라이브러리를 임포트 할 수 있습니다. 연결을 위해 아래와 같이 호스트, 사용자 이름, 비밀번호, 데이터베이스 등 필요한 정보를 작성하시면 되겠습니다.

 

 

import pymysql

# MySQL 서버에 연결
conn = pymysql.connect(
    host = "localhost",
    port = "포트 번호",
    user = "사용자이름",
    password = "비밀번호"
)

# 연결 성공 시 메시지 출력
if conn:
    print("MySQL에 연결되었습니다.")

 

 

 

데이터베이스 생성하기

MySQL에 데이터를 저장하기 위해 데이터베이스를 먼저 생성해야 합니다. CREATE DATABASE 문을 사용하여 데이터베이스를 생성할 수 있습니다.

 

 

cursor = conn.cursor()
cursor.execute("CREATE DATABASE mydatabase")
print("데이터베이스가 생성되었습니다.")

 

 

위의 코드대로 작성을 해보시고 실행을 해보시면, MySQL 서버에 데이터베이스가 생성됩니다.

 

 

데이터베이스 생성 완료
데이터베이스 생성 완료

 

 

 

테이블 생성하기

다음은 데이터를 구조화하여 저장하기 위해서 테이블을 생성해 보도록 하겠습니다.

 

 

import pymysql

# MySQL 서버에 연결
conn = pymysql.connect(
    host = "localhost",
    port = "포트 번호",
    user = "사용자이름",
    password = "비밀번호",
    database = "방금 생성한 데이터베이스 이름"
)

# 연결 성공 시 메시지 출력
if conn:
    print("MySQL에 연결되었습니다.")


cursor = conn.cursor()

# 테이블 생성
cursor.execute("CREATE TABLE customers (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), address VARCHAR(255))")
print("테이블이 생성되었습니다.")

 

 

테이블 생성은 CREATE TABLE 문을 사용하여 테이블을 생성할 수 있습니다. 각 열에 대한 이름, 데이터 유형 및 제약 조건을 지정해야 합니다.

 

 

테이블 생성
테이블 생성

 

 

 

데이터 조작 해보기

다음으로 테이블의 데이터를 조작해 보는 방법에 대해서 알아보도록 하겠습니다.

 

 

데이터 추가하기(INSERT)

생성한 테이블에 데이터를 추가하려면 INSERT INTO 문을 사용해야 하는데요. 아래와 같이 데이터를 추가할 테이블과 열 이름, 추가할 값들을 지정해야 합니다.

 

 

import pymysql

conn = pymysql.connect(
    host = "localhost",
    port = "포트 번호",
    user = "사용자이름",
    password = "비밀번호",
    database = "방금 생성한 데이터베이스 이름"
)

# 연결 성공 시 메시지 출력
if conn:
    print("MySQL에 연결되었습니다.")

cursor = conn.cursor()

# 데이터 추가
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John Doe", "123 Apple Street")
cursor.execute(sql, val)
conn.commit()
print(cursor.rowcount, "개의 데이터가 추가되었습니다.")

 

 

이렇게 하면 지정한 값들이 테이블에 추가됩니다.

 

 

데이터 추가
데이터 추가

 

 

데이터 조회하기(SELECT)

테이블에 저장된 데이터를 조회하기 위해서는 SELECT 문을 사용해야 합니다.

 

 

import pymysql

# MySQL 서버에 연결
conn = pymysql.connect(
    host = "localhost",
    port = "포트 번호",
    user = "사용자이름",
    password = "비밀번호",
    database = "방금 생성한 데이터베이스 이름"
)

# 연결 성공 시 메시지 출력
if conn:
    print("MySQL에 연결되었습니다.")

cursor = conn.cursor()

# 데이터 조회
cursor.execute("SELECT * FROM customers")
result = cursor.fetchall()
for row in result:
    print(row)

 

 

원하는 열과 테이블을 지정하여 데이터를 검색할 수 있는데요. WHERE 절을 사용하여 특정 조건에 맞는 데이터를 검색할 수 있습니다.

 

 

데이터 조회
데이터 조회

 

 

데이터 수정하기(UPDATE)

저장된 데이터를 수정해야 할 경우 UPDATE 문을 사용합니다.

 

 

import pymysql

# MySQL 서버에 연결
conn = pymysql.connect(
    host = "localhost",
    port = "포트 번호",
    user = "사용자이름",
    password = "비밀번호",
    database = "방금 생성한 데이터베이스 이름"
)

# 연결 성공 시 메시지 출력
if conn:
    print("MySQL에 연결되었습니다.")

cursor = conn.cursor()

# 데이터 수정
sql = "UPDATE customers SET address = '456 Orange Street' WHERE name = 'John Doe'"
cursor.execute(sql)
conn.commit()
print(cursor.rowcount, "개의 데이터가 수정되었습니다.")

 

 

수정할 테이블, 수정할 열 이름 및 새로운 값, 그리고 WHERE 절을 사용하여 수정할 특정 데이터를 지정합니다.

 

 

데이터 수정
데이터 수정

 

 

데이터 삭제하기(DELETE)

특정 데이터나 테이블을 삭제해야 할 경우 DELETE 문을 사용합니다. 삭제할 테이블과 삭제할 데이터를 WHERE 절을 사용하여 지정할 수도 있습니다.

 

 

import pymysql

# MySQL 서버에 연결
conn = pymysql.connect(
    host = "localhost",
    port = "포트 번호",
    user = "사용자이름",
    password = "비밀번호",
    database = "방금 생성한 데이터베이스 이름"
)

# 연결 성공 시 메시지 출력
if conn:
    print("MySQL에 연결되었습니다.")

cursor = conn.cursor()

# 데이터 삭제
sql = "DELETE FROM customers WHERE address = '456 Orange Street'"
cursor.execute(sql)
conn.commit()
print(cursor.rowcount, "개의 데이터가 삭제되었습니다.")

 

 

위의 코드를 작성하셔서 실행해 보시면 아래와 같이 테이블에서 데이터가 삭제가 됩니다.

 

 

데이터 삭제
데이터 삭제

 

 

테이블 확인
테이블 확인

 

 

 

마무리

지금까지 파이썬을 이용하여 MySQL 데이터베이스에 연결하고 데이터를 조작하는 예시들을 살펴보았는데요. 파이썬과 MySQL을 함께 사용하여 데이터를 관리하면 데이터베이스 작업을 보다 효율적으로 수행할 수 있습니다.

오늘 포스팅은 여기서 마무리하도록 하겠습니다.

감사합니다!

 

댓글 남기기