การเชื่อมต่อ MySQL Database ใน Python
ใช้ mysql-connector-python สำหรับเชื่อมต่อ MySQL
การติดตั้ง
python -m pip install mysql-connector-python
ขั้นตอนการเชื่อมต่อ
- Import mysql.connector
- สร้าง connection ด้วย connect() ระบุ host, user, password, database
- สร้าง cursor object ด้วย cursor()
- Execute SQL queries ด้วย cursor.execute()
- Commit/rollback transaction
- ปิด cursor และ connection
ตัวอย่าง: สร้าง Connection
import mysql.connector
mydatabase = mysql.connector.connect(
host="localhost",
user="your_user_name",
password="your_password",
database="database_name"
)
ตัวอย่าง: สร้าง Cursor และ Execute Query
mycsr = mydatabase.cursor()
# CREATE TABLE
mycsr.execute("CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), email VARCHAR(100))")
# INSERT
sql = "INSERT INTO users (name, email) VALUES (%s, %s)"
val = ("John Doe", "john@example.com")
mycsr.execute(sql, val)
mydatabase.commit()
# SELECT
mycsr.execute("SELECT * FROM users")
result = mycsr.fetchall()
for row in result:
print(row)
mycsr.close()
mydatabase.close()
Parameterized Queries (ป้องกัน SQL Injection)
ใช้ %s placeholder และส่งค่าเป็น tuple ไม่ใช้ string formatting
Context Manager (แนะนำ)
with mysql.connector.connect(...) as conn:
with conn.cursor() as cursor:
cursor.execute("SELECT * FROM users")
for row in cursor:
print(row)
Connection Pooling
สำหรับ production ใช้ mysql.connector.pooling จัดการ connection pool