본문 바로가기

카테고리 없음

다양한 데이터베이스와 함께하는 파이썬 활용 가이드

파이썬 데이터베이스 연동 예제 모음

파이썬은 다양한 데이터베이스와 손쉽게 연동할 수 있는 강력한 프로그래밍 언어입니다. 본 글에서는 파이썬을 사용하여 여러 종류의 데이터베이스에 연결하고 데이터를 처리할 수 있는 기초적인 예제들을 모아 초보자들이 이해하기 쉽게 설명합니다.

데이터베이스 기초

데이터베이스는 데이터를 저장하고 관리하는 체계적인 방법으로, 여러 가지 종류가 있습니다. 일반적으로 사용되는 데이터베이스의 종류는 다음과 같습니다:

  • 관계형 데이터베이스 (MySQL, PostgreSQL, SQLite 등)
  • 비관계형 데이터베이스 (MongoDB, Cassandra 등)

파이썬에서는 많은 데이터베이스와 연결할 수 있도록 다양한 라이브러리를 제공합니다. 이 글에서는 관계형 데이터베이스인 MySQL과 SQLite를 중심으로 하여 설명하겠습니다.

파이썬과 MySQL 연동하기

MySQL은 널리 사용되는 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 파이썬에서 MySQL에 연결하기 위해서는 mysql-connector-python 라이브러리를 사용할 수 있습니다.

1. MySQL 설치 및 설정

먼저, MySQL 서버가 설치되어 있어야 하며, 데이터베이스와 해당 데이터베이스에 대한 사용자가 존재해야 합니다. 아래는 MySQL을 설치하는 기본적인 과정입니다:

  • MySQL 공식 웹사이트에서 설치 파일 다운로드
  • 설치 마법사에 따라 설치 진행
  • 설치 후 초기 사용자 및 데이터베이스 생성

2. 필요한 라이브러리 설치

MySQL Connector를 설치하기 위해 다음과 같은 명령어를 사용할 수 있습니다:

pip install mysql-connector-python

3. 데이터베이스 연결 및 기본 작업

다음은 데이터베이스에 연결하고 기본적인 CRUD(Create, Read, Update, Delete) 작업을 수행하는 간단한 예제입니다:


import mysql.connector

데이터베이스 연결


conn = mysql.connector.connect(
    host='localhost',
    user='username',
    password='password',
    database='test_db'
)

cursor = conn.cursor()

테이블 생성


cursor.execute("CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), email VARCHAR(255))")

데이터 삽입


cursor.execute("INSERT INTO users (name, email) VALUES ('홍길동', 'hong@example.com')")
conn.commit()

데이터 조회


cursor.execute("SELECT * FROM users")
results = cursor.fetchall()
for row in results:
    print(row)

데이터 수정


cursor.execute("UPDATE users SET email = 'new_email@example.com' WHERE id = 1")
conn.commit()

데이터 삭제


cursor.execute("DELETE FROM users WHERE id = 1")
conn.commit()

연결 종료


cursor.close()
conn.close()

파이썬과 SQLite 연동하기

SQLite는 가벼운 파일 기반의 데이터베이스로, 설정이 간편하여 파이썬과 함께 자주 사용됩니다. 파이썬은 기본적으로 SQLite3 모듈을 지원하므로 별도의 설치가 필요하지 않습니다.

1. 데이터베이스 연결 및 기본 작업

SQLite에 연결하고 기본적인 CRUD 작업을 수행하는 예제는 다음과 같습니다:


import sqlite3

데이터베이스 연결 (데이터베이스 파일이 없으면 새로 생성)


conn = sqlite3.connect('test.db')

cursor = conn.cursor()

테이블 생성


cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, email TEXT)")

데이터 삽입


cursor.execute("INSERT INTO users (name, email) VALUES ('김철수', 'kim@example.com')")
conn.commit()

데이터 조회


cursor.execute("SELECT * FROM users")
results = cursor.fetchall()
for row in results:
    print(row)

데이터 수정


cursor.execute("UPDATE users SET email = 'updated_email@example.com' WHERE id = 1")
conn.commit()

데이터 삭제


cursor.execute("DELETE FROM users WHERE id = 1")
conn.commit()

연결 종료


cursor.close()
conn.close()

파이썬 데이터베이스 연동 시 주의사항

데이터베이스를 연동할 때 몇 가지 주의해야 할 사항이 있습니다:

  • SQL 인젝션 공격을 예방하기 위해서 쿼리를 직접 문자열로 구성하는 것보다 파라미터를 사용하는 것이 좋습니다.
  • 데이터베이스 연결을 항상 닫아야 메모리 누수를 방지할 수 있습니다.
  • 필요한 경우 에러 처리를 통해 예외 상황을 대비해야 합니다.

정리

이번 글에서는 파이썬을 활용하여 MySQL 및 SQLite와 연동하는 기본적인 예제를 살펴보았습니다. 데이터베이스와의 연동은 데이터 관리 및 응용 프로그램 개발에 있어 매우 중요한 요소입니다. 간단한 예제부터 시작하여 점차 복잡한 쿼리와 데이터 처리 기술을 익히는 것이 좋습니다.

앞으로의 학습에서 다양한 데이터베이스와의 연동 및 데이터 분석 기술을 익히길 바랍니다.