⭐ 메모 앱 만들기 실습
Python과 MySQL 데이터베이스를 연동하여, 사용자가 입력한 메모를 저장하고 조회하는 간단한 메모 관리 프로그램을 구현한다.
1) MySQL Workbench를 열어
"notes_db" 스키마를 생성하고, set as default schema 설정을 해준다.
그 다음, 메모를 저장할 테이블을 생성하기 위해 아래 쿼리를 실행시킨다.
*생성된 테이블을 확인하기 위해 오른쪽 클릭 "refresh all" 누르기
CREATE TABLE notes(
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
note TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
- id: 자동 증가하는 기본키 설정
- title: 제목 저장, 최대 255자, NULL 불가
- note: 내용 저장, NULL 불가
- created_at: 생성 시간 자동 저장 (현재 시간 기본값)

2) 터미널을 열어 리눅스 서버와 연결한 후,
pip install mysql-connector-python 명령어로 패키지를 설치한다.
MySQL Connector: Python에서 MySQL 데이터베이스에 연결하고 조작하기 위한 라이브러리
- Oracle에서 공식 지원하는 라이브러리
- 순수 Python으로 작성되어 추가 설치(의존성) 불필요
- 다른 라이브러리에 비해 상대적으로 속도가 느림

3) vi mysql-test.py 명령어로 파이썬 파일을 생성하고,
MySQL 데이터베이스에 연결하고 연결 상태를 확인하는 아래 코드를 작성하고, 저장(:w)한다.
import mysql.connector
# Connect to database()
def connect_to_db():
return mysql.connector.connect(
host="mySQL 서버 엔드포인트",
user="사용자 이름",
password="비밀번호",
database="데이터베이스 이름"
)
conn = connect_to_db()
print(conn)


4) Azure Portal에서 MySQL 서버의 네트워킹 설정으로 들어가 방화벽 규칙을 추가한다.
시작 IP 주소 = 종료 IP 주소 = 리눅스 서버의 공용 IP 주소

5) 터미널을 새로 열어, 다시 ssh로 접속하여
python3 mysql-test.py 명령어로 파이썬 파일이 정상 실행되는 것을 확인한다.

6) 정상 실행된다면, 사용자 입력을 받아 MySQL 데이터베이스에 데이터를 저장하고
연결을 종료하는 아래 코드를 작성하고 저장한다.
import mysql.connector
# Connect to database()
def connect_to_db():
return mysql.connector.connect(
host="mySQL 서버 엔드포인트",
user="사용자 이름",
password="비밀번호",
database="데이터베이스 이름"
)
conn = connect_to_db()
cursor = conn.cursor()
# Get note input from the user
title = input("Enter the title of your note: ")
note = input("Enter the content of your note: ")
# Insert the note into the database
insert_query = "INSERT INTO notes (title, note) VALUES (%s, %s)"
cursor.execute(insert_query, (title, note))
# Commit the changes
conn.commit()
print(f"Note '{title}' added successfully!")
# Close the connection
cursor.close()
conn.close()
print(conn)

7) 다시 파이썬 파일을 실행시켜, 메모 제목과 내용을 입력한다.

8) MySQL Workbench에서 아래 쿼리를 통해 생성된 메모를 확인한다.
SELECT *
FROM notes

'클라우드응용SW개발' 카테고리의 다른 글
| [Cloud] 5주차-2. Azure Cosmos DB 개념 (0) | 2026.04.07 |
|---|---|
| [Cloud] 5주차-1. 반정형 데이터(JSON), Azure Storage (0) | 2026.04.07 |
| [Cloud] 4주차-3. Azure 관계형 Database (+실습) (0) | 2026.04.07 |
| [Cloud] 4주차-2. SQL Query (+실습) (0) | 2026.04.07 |
| [Cloud] 4주차-1. 관계형 데이터베이스 기본 개념 (0) | 2026.04.07 |