데브남 : SQL

moon.kick·2025년 1월 30일

이 링크에 있는 내용은 Python을 사용하여 MySQL에 데이터를 연결하고, 데이터를 읽고 쓰는 방법을 알려주는 튜토리얼인 것 같네요! 친절하고 천천히 완전 초보도 따라 할 수 있도록 하나씩 자세히 설명해드릴게요. 시작하기 전에 먼저 필요한 환경 설정부터 차근차근 준비해봅시다.


1. MySQL 설치 및 설정


MySQL이 설치되어 있나요?

  1. MySQL이 없다면 MySQL 공식 사이트에 들어가서 설치해 주세요.
  2. 설치가 끝나면 MySQL을 실행하고 root 비밀번호를 기억하세요.
    예시: root 사용자 비밀번호가 password123이라면 이걸 나중에 Python 코드에서 사용합니다.

2. Python과 MySQL 연동에 필요한 패키지 설치


패키지 설치

  1. Python 환경이 준비되어 있다면, 아래 명령어로 패키지 설치를 해 주세요.
pip install mysql-connector-python

설치가 성공했다면, MySQL과 Python을 연결할 준비가 완료된 겁니다.


3. MySQL에 간단한 데이터베이스와 테이블 만들기


데이터베이스 생성하기

  1. MySQL 콘솔에 접속합니다:
mysql -u root -p

(비밀번호 입력 후 MySQL 환경으로 들어가세요.)

  1. 데이터베이스 만들기:
CREATE DATABASE testdb;
  1. 데이터베이스 선택:
USE testdb;
  1. 테이블 만들기 (예제에서는 사용자 정보를 저장하는 테이블을 만듭니다):
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    age INT,
    email VARCHAR(50)
);

이제 users 테이블이 성공적으로 만들어졌습니다!


4. Python으로 MySQL에 연결하기


연결 코드 작성하기

  1. Python 파일을 만들어 주세요.
    예를 들어, connect_mysql.py라는 파일을 새로 만듭니다.

  2. 연결 코드 입력:

import mysql.connector

# MySQL에 연결
db = mysql.connector.connect(
    host="localhost",      # MySQL이 로컬 컴퓨터에서 실행 중일 때
    user="root",           # MySQL 사용자명
    password="password123",  # 본인의 MySQL 비밀번호
    database="testdb"      # 연결할 데이터베이스
)

# 연결 확인
if db.is_connected():
    print("MySQL에 성공적으로 연결되었습니다!")

💡 이 코드에서 중요한 부분:

  • host="localhost": MySQL이 내 컴퓨터에서 실행되므로 localhost로 설정.
  • user="root": 사용자명은 보통 설치할 때 기본값인 root를 사용.
  • password="password123": 본인의 비밀번호로 변경하세요!
  • database="testdb": 우리가 만든 데이터베이스 이름.

5. Python으로 데이터 삽입하기


Python 코드로 데이터 삽입

Python에서 users 테이블에 데이터를 추가하는 코드를 작성해봅시다.

import mysql.connector

# MySQL 연결
db = mysql.connector.connect(
    host="localhost",
    user="root",
    password="password123",
    database="testdb"
)

cursor = db.cursor()

# SQL 쿼리 작성
sql = "INSERT INTO users (name, age, email) VALUES (%s, %s, %s)"
val = ("홍길동", 25, "hong@example.com")

# 데이터 삽입
cursor.execute(sql, val)

# 변경 사항을 저장
db.commit()

print(cursor.rowcount, "개의 레코드가 삽입되었습니다.")

💡 설명

  • cursor = db.cursor(): MySQL에 쿼리를 실행하려면 cursor 객체가 필요합니다.
  • INSERT INTO users (name, age, email): users 테이블에 데이터를 넣는 명령입니다.
  • %s: 나중에 Python의 변수로 값이 채워질 자리입니다.
  • db.commit(): 데이터를 삽입한 후, MySQL에 변경 사항을 저장해야 합니다.

6. 삽입된 데이터 확인


MySQL 콘솔에서 다음 명령을 실행하여 삽입된 데이터를 확인해봅시다:

SELECT * FROM users;

💡 결과

+----+----------+-----+------------------+
| id | name     | age | email            |
+----+----------+-----+------------------+
| 1  | 홍길동   |  25 | hong@example.com |
+----+----------+-----+------------------+

성공적으로 데이터를 입력한 것을 확인했나요? 🎉


7. Python으로 데이터 읽기


이제 Python 코드로 데이터를 읽어오는 방법을 알아볼게요.

import mysql.connector

# MySQL 연결
db = mysql.connector.connect(
    host="localhost",
    user="root",
    password="password123",
    database="testdb"
)

cursor = db.cursor()

# SELECT 쿼리 작성
cursor.execute("SELECT * FROM users")

# 결과 가져오기
result = cursor.fetchall()

# 결과 출력
for row in result:
    print(row)

💡 이 코드의 주요 부분:

  • cursor.execute("SELECT * FROM users"): users 테이블의 모든 데이터를 가져오는 쿼리입니다.
  • result = cursor.fetchall(): 쿼리의 결과를 모두 가져옵니다.
  • for row in result: 가져온 데이터를 하나씩 출력합니다.

8. 데이터 업데이트


Python 코드로 기존 데이터를 수정하는 방법도 알아보겠습니다.

# SQL 업데이트 쿼리 작성
sql = "UPDATE users SET age = %s WHERE name = %s"
val = (30, "홍길동")

cursor.execute(sql, val)

# 변경 사항 저장
db.commit()

print(cursor.rowcount, "개의 레코드가 수정되었습니다.")

9. 데이터 삭제


테이블의 데이터를 삭제하는 방법입니다:

# SQL 삭제 쿼리 작성
sql = "DELETE FROM users WHERE name = %s"
val = ("홍길동",)

cursor.execute(sql, val)

# 변경 사항 저장
db.commit()

print(cursor.rowcount, "개의 레코드가 삭제되었습니다.")

10. MySQL 연결 종료


모든 작업이 끝나면 MySQL 연결을 종료하는 것이 좋습니다.

db.close()

정리해 보면:

  1. MySQL 설치데이터베이스/테이블 생성Python 패키지 설치
  2. 연결 코드 작성데이터 삽입데이터 읽기, 수정, 삭제

한 단계씩 천천히 따라가면 여러분도 금방 MySQL과 Python을 연결할 수 있습니다! 😊 문제가 생기면 언제든지 물어보세요.

profile
@mgkick

0개의 댓글