이번 포스팅에서는 Python과 데이터베이스를 연동하는 방법을 소개하겠습니다. 데이터베이스는 개발에서 핵심적인 역할을 하는데, 데이터를 저장하고 조회하는 등의 작업을 수행할 수 있습니다. Python은 다양한 데이터베이스와의 연동을 지원하는데, 대표적인 예로 MySQL, PostgreSQL, SQLite 등을 들 수 있습니다.
MySQL과의 연동 예제
MySQL은 가장 널리 사용되는 관계형 데이터베이스 중 하나입니다. Python에서 MySQL과의 연동을 위해서는 mysql-connector-python
패키지를 사용할 수 있습니다.
import mysql.connector
# MySQL 서버에 연결
conn = mysql.connector.connect(
host="localhost",
user="username",
password="password",
database="database_name"
)
# 연결된 데이터베이스와 상호작용
cursor = conn.cursor()
# 테이블 생성
cursor.execute("CREATE TABLE customers (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), email VARCHAR(255))")
# 데이터 삽입
sql = "INSERT INTO customers (name, email) VALUES (%s, %s)"
values = ("John Doe", "john@example.com")
cursor.execute(sql, values)
# 데이터 조회
cursor.execute("SELECT * FROM customers")
result = cursor.fetchall()
for row in result:
print(row)
# 연결 종료
cursor.close()
conn.close()
위의 예제에서는 Python의 mysql.connector
모듈을 사용하여 MySQL과의 연결을 수행하고, 테이블 생성, 데이터 삽입, 데이터 조회 등의 작업을 수행하는 방법을 보여줍니다.
PostgreSQL과의 연동 예제
PostgreSQL은 강력한 기능을 가진 오픈 소스 관계형 데이터베이스입니다. Python에서 PostgreSQL과의 연동을 위해서는 psycopg2
패키지를 사용할 수 있습니다.
import psycopg2
# PostgreSQL 서버에 연결
conn = psycopg2.connect(
host="localhost",
port="5432",
database="database_name",
user="username",
password="password"
)
# 연결된 데이터베이스와 상호작용
cursor = conn.cursor()
# 테이블 생성
cursor.execute("CREATE TABLE customers (id SERIAL PRIMARY KEY, name VARCHAR(255), email VARCHAR(255))")
# 데이터 삽입
sql = "INSERT INTO customers (name, email) VALUES (%s, %s)"
values = ("John Doe", "john@example.com")
cursor.execute(sql, values)
# 데이터 조회
cursor.execute("SELECT * FROM customers")
result = cursor.fetchall()
for row in result:
print(row)
# 연결 종료
cursor.close()
conn.close()
위의 예제에서는 Python의 psycopg2
모듈을 사용하여 PostgreSQL과의 연결을 수행하고, 테이블 생성, 데이터 삽입, 데이터 조회 등의 작업을 수행하는 방법을 보여줍니다.
SQLite과의 연동 예제
SQLite은 경량화된 관계형 데이터베이스로서, 별도의 서버가 필요하지 않아 간단한 데이터베이스 연동에 유용합니다. Python에서 SQLite와의 연동을 위해서는 별도의 모듈 설치 없이 내장된 sqlite3
모듈을 사용할 수 있습니다.
import sqlite3
# SQLite 데이터베이스 파일에 연결
conn = sqlite3.connect("database.db")
# 연결된 데이터베이스와 상호작용
cursor = conn.cursor()
# 테이블 생성
cursor.execute("CREATE TABLE customers (id INTEGER PRIMARY KEY, name TEXT, email TEXT)")
# 데이터 삽입
sql = "INSERT INTO customers (name, email) VALUES (?, ?)"
values = ("John Doe", "john@example.com")
cursor.execute(sql, values)
# 데이터 조회
cursor.execute("SELECT * FROM customers")
result = cursor.fetchall()
for row in result:
print(row)
# 연결 종료
cursor.close()
conn.close()
위의 예제에서는 Python의 sqlite3
모듈을 사용하여 SQLite과의 연결을 수행하고, 테이블 생성, 데이터 삽입, 데이터 조회 등의 작업을 수행하는 방법을 보여줍니다.
위의 예제 코드를 통해 Python으로 데이터베이스와의 연동을 테스트할 수 있습니다. 연동하는 데이터베이스에 따라 다른 모듈을 사용해야 하지만, 기본적인 연결 방법과 작업은 유사하므로, 아래의 참고 자료를 통해 더 자세한 내용을 확인할 수 있습니다.