본문 바로가기
■ 칼퇴를 위한 파이썬 : 사례

파이썬으로 데이터베이스 연결하기: MySQL 사용법

by 포탈메이커 2023. 7. 12.

파이썬으로 데이터베이스 연결하기: MySQL 사용법

소개

파이썬은 데이터베이스와의 연동을 위한 여러 라이브러리를 제공하고 있습니다. 이 중에서 MySQL 데이터베이스와의 연결은 많은 파이썬 개발자들에게 흔한 작업입니다. 이번 포스팅에서는 파이썬을 이용하여 MySQL 데이터베이스에 연결하고 기본적인 CRUD(Create, Read, Update, Delete) 작업을 수행하는 방법을 살펴보겠습니다.

1. MySQL 연결을 위한 라이브러리 설치

먼저, 파이썬에서 MySQL과 연결하기 위해 mysql-connector-python 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

$ pip install mysql-connector-python

2. MySQL 데이터베이스 연결

파이썬에서 데이터베이스 연결은 주로 mysql.connector 모듈을 사용합니다. 아래의 코드는 MySQL 데이터베이스에 연결하는 방법을 보여줍니다.

```python import mysql.connector

MySQL 서버에 연결

mydb = mysql.connector.connect( host="localhost", user="username", password="password", database="database_name" )

연결이 성공한 경우

if mydb.is_connected(): print("MySQL Database에 연결되었습니다.") ```

위의 코드에서 host, user, password, database의 값을 실제 데이터베이스에 맞게 수정해야 합니다. host는 MySQL 서버 주소, user는 MySQL 사용자 이름, password는 MySQL 사용자 암호, database는 연결할 데이터베이스의 이름입니다.

3. 데이터베이스 조작

MySQL 데이터베이스에 연결되었다면, 이제 데이터베이스를 조작하는 다양한 작업을 수행할 수 있습니다. 다음은 일반적으로 사용되는 몇 가지 작업입니다.

3.1. 테이블 생성

새로운 테이블을 생성하기 위해 SQL CREATE TABLE 문을 사용합니다. 아래의 코드는 students라는 테이블을 생성하는 예제입니다.

```python mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE students (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)") ```

3.2. 데이터 삽입

테이블에 데이터를 삽입하려면 SQL INSERT INTO 문을 사용합니다. 아래의 코드는 students 테이블에 학생 데이터를 삽입하는 예제입니다.

```python mycursor = mydb.cursor()

sql = "INSERT INTO students (name, age) VALUES (%s, %s)" val = ("John", 20)

mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.") ```

3.3. 데이터 조회

테이블의 데이터를 조회하려면 SQL SELECT 문을 사용합니다. 아래의 코드는 students 테이블의 모든 데이터를 조회하는 예제입니다.

```python mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM students")

result = mycursor.fetchall()

for x in result: print(x) ```

3.4. 데이터 업데이트

테이블의 데이터를 업데이트하려면 SQL UPDATE 문을 사용합니다. 아래의 코드는 students 테이블에서 이름이 "John"인 학생의 나이를 업데이트하는 예제입니다.

```python mycursor = mydb.cursor()

sql = "UPDATE students SET age = 21 WHERE name = 'John'"

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, "record(s) updated.") ```

3.5. 데이터 삭제

테이블의 데이터를 삭제하려면 SQL DELETE 문을 사용합니다. 아래의 코드는 students 테이블에서 이름이 "John"인 학생을 삭제하는 예제입니다.

```python mycursor = mydb.cursor()

sql = "DELETE FROM students WHERE name = 'John'"

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, "record(s) deleted.") ```

마치며

이번 포스팅에서는 파이썬과 MySQL 데이터베이스의 연결 방법 및 데이터를 조작하는 기본적인 작업에 대해 알아보았습니다. 데이터베이스 연결을 통해 파이썬에서 데이터를 보다 효율적으로 관리할 수 있습니다. 다양한 파이썬 데이터베이스 라이브러리들을 활용하여 개발할 수 있으니, 필요에 따라 적합한 라이브러리를 선택하여 사용하시기 바랍니다.