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