Python을 SQL 데이터베이스에 연결하는 방법

Python을 SQL 데이터베이스에 연결하면 Python 스크립트에서 직접 데이터베이스와 상호 작용할 수 있습니다. 이 기능은 데이터 검색, 업데이트 및 분석과 같은 작업에 필수적입니다. 이 문서에서는 SQLite, MySQL, PostgreSQL과 같은 인기 있는 라이브러리를 사용하여 Python을 SQL 데이터베이스에 연결하는 방법을 살펴보겠습니다.

환경 설정하기

Python을 SQL 데이터베이스에 연결하려면 적절한 데이터베이스 커넥터 라이브러리를 설치해야 합니다. 다음은 다양한 데이터베이스에 대한 공통 라이브러리입니다.

  • SQLite: SQLite 지원은 Python에 내장되어 있으므로 추가 설치가 필요하지 않습니다.
  • MySQL:mysql-connector-python 또는 PyMySQL 라이브러리를 사용하세요.
  • PostgreSQL:psycopg2 라이브러리를 사용합니다.

SQLite 데이터베이스에 연결하기

SQLite는 Python의 표준 라이브러리에 내장된 가벼운 데이터베이스입니다. SQLite 데이터베이스에 연결하고 기본 작업을 수행하는 방법은 다음과 같습니다.

import sqlite3

# Connect to an SQLite database (or create it if it doesn't exist)
conn = sqlite3.connect('example.db')

# Create a cursor object
cursor = conn.cursor()

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    age INTEGER
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO users (name, age)
VALUES ('Alice', 30)
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM users')
print(cursor.fetchall())  # Output: [(1, 'Alice', 30)]

# Close the connection
conn.close()

MySQL 데이터베이스에 연결하기

MySQL 데이터베이스에 연결하려면 mysql-connector-python 라이브러리를 설치해야 합니다. pip을 사용하여 설치할 수 있습니다.

pip install mysql-connector-python

다음은 MySQL 데이터베이스에 연결하고 기본적인 작업을 수행하는 예입니다.

import mysql.connector

# Connect to a MySQL database
conn = mysql.connector.connect(
    host='localhost',
    user='yourusername',
    password='yourpassword',
    database='testdb'
)

# Create a cursor object
cursor = conn.cursor()

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    position VARCHAR(255)
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO employees (name, position)
VALUES ('Bob', 'Engineer')
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM employees')
print(cursor.fetchall())  # Output: [(1, 'Bob', 'Engineer')]

# Close the connection
conn.close()

PostgreSQL 데이터베이스에 연결

PostgreSQL 데이터베이스에 연결하려면 psycopg2 라이브러리가 필요합니다. pip을 사용하여 설치하세요.

pip install psycopg2

PostgreSQL 데이터베이스에 연결하고 기본적인 작업을 수행하는 예는 다음과 같습니다.

import psycopg2

# Connect to a PostgreSQL database
conn = psycopg2.connect(
    dbname='testdb',
    user='yourusername',
    password='yourpassword',
    host='localhost'
)

# Create a cursor object
cursor = conn.cursor()

# Create a table
cursor.execute('''
CREATE TABLE IF NOT EXISTS products (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    price DECIMAL
)
''')

# Insert data into the table
cursor.execute('''
INSERT INTO products (name, price)
VALUES ('Laptop', 999.99)
''')

# Commit the transaction
conn.commit()

# Query the database
cursor.execute('SELECT * FROM products')
print(cursor.fetchall())  # Output: [(1, 'Laptop', 999.99)]

# Close the connection
conn.close()

결론

Python을 SQL 데이터베이스에 연결하는 것은 모든 데이터 기반 애플리케이션에 기본적인 기술입니다. sqlite3, mysql-connector-python, psycopg2과 같은 라이브러리를 사용하면 다양한 데이터베이스와 쉽게 상호 작용할 수 있습니다. 테이블 생성, 데이터 삽입, 데이터베이스 쿼리와 같은 기본 작업을 수행하는 방법을 이해하면 데이터를 효과적으로 관리하고 조작할 수 있습니다.