MySQL - Python Syntax

안녕하세요, 미래의 프로그래머 여러분! 오늘 우리는 MySQL과 Python의 세계로 흥미로운 여정을 떠납니다. 여러분의 친절한 이웃 컴퓨터 선생님으로서, 저는 이 모험을 단계별로 안내해드리겠습니다. 코드를 한 줄도 작성해본 적이 없으신 분들도 걱정하지 마세요 - 우리는 매우 처음부터 함께 시작하여 단계를 올라갈 것입니다.

MySQL - Python Syntax

"python-mysql" 연결자 설치

Python과 MySQL을 사용하기 전에, 연결자라는 특별한 도구를 설치해야 합니다. 이 것은 Python이 MySQL 데이터베이스와 소통할 수 있게 해주는 다리라고 생각하면 됩니다. 시작해보겠습니다!

Step 1: Python 설치

먼저, 컴퓨터에 Python이 설치되어 있는지 확인하세요. 설치되어 있지 않다면, 공식 Python 웹사이트(https://www.python.org)로 이동하여 운영 체제에 맞는 최신 버전을 다운로드하세요.

Step 2: MySQL 연결자 설치

이제 MySQL 연결자를 설치해보겠습니다. 명령 프롬프트나 터미널을 엽니다 그런 다음 다음 명령어를 입력하세요:

pip install mysql-connector-python

Enter 키를 누르고 마법이 일어나게 해봅시다! 이 명령어는 pip(Python의 패키지 설치 프로그램)에게 MySQL 연결자를 다운로드하고 설치하도록 지시합니다.

Python 함수로 MySQL 접근하기

이제 우리 연결자를 설치했으므로, MySQL 데이터베이스를 작동시키기 위해 사용할 함수들을 살펴보겠습니다. 이 함수들을 우리의 프로그래밍 마법의 특별한 주문으로 생각할 수 있습니다!

다음은 Python에서 가장 일반적인 MySQL 함수들의 표입니다:

함수 설명
mysql.connector.connect() MySQL 데이터베이스에 연결을 만듭니다
connection.cursor() SQL 질의를 실행할 커서 객체를 만듭니다
cursor.execute() SQL 질의를 실행합니다
cursor.fetchone() 질의 결과의 다음 행을 가져옵니다
cursor.fetchall() 질의 결과의 모든 행을 가져옵니다
connection.commit() 현재 트랜잭션을 커밋합니다
cursor.close() 커서를 닫습니다
connection.close() 데이터베이스 연결을 닫습니다

이제 이들 함수가 현재 약간 수수께끼 같지만, 우리는 이어가면서 하나씩 자세히 탐구해보겠습니다.

기본 예제

이제 배운 것을 실践에 바로 적용해보겠습니다. MySQL 데이터베이스에 연결하고, 테이블을 생성하고, 데이터를 삽입하고, 그 데이터를 검색하는 기본 예제를 작성해보겠습니다. 흥분되지 않나요? 시작해보겠습니다!

import mysql.connector

# Step 1: MySQL 데이터베이스에 연결
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

# Step 2: 커서 객체 생성
mycursor = mydb.cursor()

# Step 3: 테이블 생성
mycursor.execute("CREATE TABLE students (name VARCHAR(255), age INTEGER)")

# Step 4: 테이블에 데이터 삽입
sql = "INSERT INTO students (name, age) VALUES (%s, %s)"
val = ("John Doe", 25)
mycursor.execute(sql, val)

# Step 5: 변경 사항 커밋
mydb.commit()

# Step 6: 테이블에서 데이터 검색
mycursor.execute("SELECT * FROM students")
result = mycursor.fetchall()

# Step 7: 결과 출력
for x in result:
print(x)

# Step 8: 커서와 연결 닫기
mycursor.close()
mydb.close()

이제 이를 단계별로 설명해보겠습니다:

Step 1: 연결 설정

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

이는 우리의 MySQL 데이터베이스 문을 두드리는 것과 같습니다. "안녕, Python이야! 들어와도 돼?"라고 말하는 것입니다. 우리는 필요한 정보(호스트, 사용자 이름, 비밀번호, 데이터베이스 이름)를 제공하여 연결을 설정합니다.

Step 2: 커서 생성

mycursor = mydb.cursor()

커서는 우리의 마법 지팡이입니다. 우리는 이를 사용하여 데이터베이스에 SQL 주문(질의)을 실행합니다.

Step 3: 테이블 생성

mycursor.execute("CREATE TABLE students (name VARCHAR(255), age INTEGER)")

여기서 우리는 커서를 사용하여 "students"라는 새로운 테이블을 생성합니다. 이 테이블에는 두 열이 있습니다: "name"(최대 255자의 텍스트를 저장할 수 있음)과 "age"(정수를 저장할 수 있음).

Step 4: 데이터 삽입

sql = "INSERT INTO students (name, age) VALUES (%s, %s)"
val = ("John Doe", 25)
mycursor.execute(sql, val)

이제 우리는 테이블에 학생을 추가합니다. 우리는 %s를 占位記号으로 사용하여 SQL 주입 공격을 방지합니다(다른 날에 다루는 주제입니다!).

Step 5: 변경 사항 커밋

mydb.commit()

이 줄은 "Save" 버튼을 누르는 것과 같습니다. MySQL이 우리가 한 변경 사항을 영구히 저장하도록 지시합니다.

Step 6: 데이터 검색

mycursor.execute("SELECT * FROM students")
result = mycursor.fetchall()

여기서 우리는 MySQL에게 "students" 테이블의 모든 데이터를 보여달라고 요청합니다. fetchall() 함수는 모든 결과를 가져옵니다.

Step 7: 결과 출력

for x in result:
print(x)

이 루프는 우리의 결과의 각 행을 출력합니다. 책을 열고 각 줄을 읽는 것과 같습니다.

Step 8: 연결 닫기

mycursor.close()
mydb.close()

마지막으로, 우리는 커서와 데이터베이스 연결을 닫습니다. 항상 문을 닫는 것을 기억하세요!

그리고 여기에 이르셨습니다! 여러분이 MySQL 데이터베이스와 상호작용하는 첫 Python 프로그램을 작성했습니다. 기억하시라, 코드를 작성하는 것은 새로운 언어를 배우는 것과 같습니다 - 연습과 인내가 필요합니다. 첫 번째로 이해하지 못하셨다면 실망하지 마세요. 계속 실험하다 보면 언제 그런가, 복잡한 데이터베이스 애플리케이션을 작성할 수 있을 것입니다!

다음 수업에서는 Python과 MySQL의 더 고급 연산을 더 깊이 탐구해보겠습니다. 그때까지, 즐겁게 코딩하세요!

Credits: Image by storyset