본문 바로가기

파이썬으로 로또 1등 도전기

9일차) 원칙 및 예상번호 등록을 위한 MySQL DB설정 준비

안녕하세요, 여러분! 오늘은 Python으로 MySQL 데이터베이스를 사용하는 방법을 간단하고 재미있게 알아보겠습니다. 또한, 데이터베이스를 쉽게 관리할 수 있는 DBeaver에 대해서도 알아볼게요. 그럼 시작해볼까요?

## 1. 필요한 도구 설치하기

### 1.1. MySQL 설치
먼저 MySQL을 설치해야 합니다. 아래 단계에 따라 설치하세요:

1. [MySQL Community Server 다운로드 페이지](https://dev.mysql.com/downloads/mysql)에 방문합니다.
2. 운영 체제에 맞는 MySQL Community Server를 다운로드하고 설치합니다.
3. 설치 과정에서 루트 비밀번호를 설정합니다. 이 비밀번호는 나중에 Python에서 MySQL에 연결할 때 사용합니다.

### 1.2. DBeaver 설치
DBeaver는 다양한 데이터베이스를 관리할 수 있는 무료 오픈소스 데이터베이스 관리 툴입니다. DBeaver를 설치하여 데이터베이스를 시각적으로 관리해보세요.

1. [DBeaver 다운로드 페이지](https://dbeaver.io/download/)에 방문합니다.
2. 운영 체제에 맞는 설치 파일을 다운로드하고 설치합니다.

## 2. Python에서 MySQL 연결하기

이제 Python에서 MySQL을 사용할 수 있도록 `mysql-connector-python` 라이브러리를 설치해야 합니다. 이 라이브러리는 Python과 MySQL 간의 연결을 도와줍니다.

### 2.1. MySQL Connector 설치
아래 명령어를 실행하여 `mysql-connector-python`을 설치합니다.

pip install mysql-connector-python



## 3. 데이터베이스와 테이블 만들기

이제 MySQL에 데이터베이스와 테이블을 만들어 보겠습니다. DBeaver를 사용하여 다음 단계를 따라해 보세요.

### 3.1. DBeaver에서 데이터베이스 만들기
1. DBeaver를 실행합니다.
2. 왼쪽의 데이터베이스 탐색기에서 MySQL을 선택하고, "New Database Connection"을 클릭합니다.
3. MySQL을 선택하고, 사용자 이름과 비밀번호를 입력한 후 "Finish"를 클릭합니다.
4. 새 연결이 생성되면, 해당 연결을 클릭하여 데이터베이스 탐색기에서 확장합니다.
5. 데이터베이스를 만들려면 오른쪽 클릭 후 "Create" > "Database"를 선택하고 이름을 입력합니다. (예: `my_database`)

### 3.2. 테이블 만들기
1. `my_database`를 오른쪽 클릭하고 "Create" > "Table"을 선택합니다.
2. 테이블 이름을 `users`로 설정하고, 다음과 같은 필드를 추가합니다:
   - `id`: INT, PK, Auto Increment
   - `name`: VARCHAR(100), NOT NULL
   - `email`: VARCHAR(100), NOT NULL, UNIQUE
   - `created_at`: TIMESTAMP, DEFAULT CURRENT_TIMESTAMP

3. 설정을 완료한 후 "Save" 버튼을 클릭하여 테이블을 생성합니다.

## 4. Python 코드 작성하기

이제 Python 코드에서 MySQL에 연결하고 데이터를 삽입해 보겠습니다.

import mysql.connector

# MySQL 데이터베이스 연결
db_connection = mysql.connector.connect(
    host='localhost',
    user='your_username',  # MySQL 사용자명
    password='your_password',  # MySQL 비밀번호
    database='my_database'  # 사용할 데이터베이스 이름
)

cursor = db_connection.cursor()

# 데이터 삽입
name = 'John Doe'
email = 'john@example.com'
sql = "INSERT INTO users (name, email) VALUES (%s, %s)"
cursor.execute(sql, (name, email))

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

print(f"{cursor.rowcount}개의 행이 추가되었습니다.")

# 연결 종료
cursor.close()
db_connection.close()



### 4.1. 코드 설명
- `mysql.connector`를 import하여 MySQL에 연결합니다.
- 연결 정보(`host`, `user`, `password`, `database`)를 설정합니다. 여러분의 MySQL 사용자명과 비밀번호로 수정해야 합니다.
- `INSERT` 쿼리를 사용하여 테이블에 데이터를 추가합니다. 
- 마지막으로 연결을 종료합니다.

## 5. 데이터 조회하기

이제 테이블에 있는 데이터를 조회해보겠습니다. 아래 코드를 추가해 보세요:

# 데이터 조회
cursor = db_connection.cursor()
cursor.execute("SELECT * FROM users")

result = cursor.fetchall()
for row in result:
    print(f"ID: {row[0]}, Name: {row[1]}, Email: {row[2]}, Created At: {row[3]}")

# 연결 종료
cursor.close()
db_connection.close()



### 5.1. 코드 설명
- `SELECT` 쿼리를 사용하여 `users` 테이블의 모든 데이터를 조회합니다.
- `fetchall()` 메서드를 사용하여 결과를 가져오고, 반복문을 통해 각 행을 출력합니다.

## 6. DBeaver를 통한 데이터 관리

DBeaver를 사용하면 데이터베이스를 시각적으로 관리할 수 있습니다. 데이터베이스의 구조를 쉽게 이해하고, 쿼리를 실행하여 데이터를 관리할 수 있습니다. DBeaver에서 다음을 할 수 있습니다:

1. 데이터베이스 탐색기에서 테이블을 오른쪽 클릭하여 "Edit Data"를 선택하면 테이블의 내용을 볼 수 있습니다.
2. "SQL Editor"를 열어 SQL 쿼리를 직접 작성하고 실행할 수 있습니다.
3. 다양한 데이터베이스 관리 기능을 이용해 더 편리하게 데이터베이스를 관리할 수 있습니다.

## 7. 마무리

이제 Python과 MySQL, 그리고 DBeaver를 함께 사용하는 방법을 익혔습니다! 데이터베이스는 데이터를 체계적으로 저장하고 관리하는 데 큰 도움을 줄 것입니다. 여러분의 프로젝트에 이 기능을 활용해보세요.

이 글이 도움이 되셨다면, 좋아요와 댓글 부탁드립니다! 다음 시간에는 더 재미있는 주제로 찾아뵙겠습니다. 감사합니다! 😊