บทความนี้สอนเขียนโปรแกรมภาษา Python เพื่อดึงข้อมูลจาก MySQL ด้วย Connector ของ MySQL และใช้คำสั่ง SELECT * FROM ของภาษา SQL โดยมีขั้นตอนดังนี้
1. สร้างฐานข้อมูลชื่อ db_example และรันคำสั่ง SQL ด้านล่าง
CREATE TABLE book (
id int(11) NOT NULL AUTO_INCREMENT,
title char(255) NOT NULL,
price int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO book (id, title, price) VALUES
(NULL, 'Python', 199),
(NULL, 'PHP', 180),
(NULL, 'Java', 200)
2. เขียนโค้ด Python เพื่อเชื่อมต่อฐานข้อมูล
import mysql.connector
cnx = mysql.connector.connect(user='root', password='', host='127.0.0.1', database='db_example')
cnx.close()
3. เขียนโค้ดเพื่อดึงข้อมูลจาก MySQL
cur = cnx.cursor()
cur.execute("SELECT * FROM book")
records = cur.fetchall()
for row in records:
print(row[0])
print(row[1])
print(row[2])
print("\n")
cnx.close()
1. คำสั่ง SELECT * FROM book ของ SQL เพื่อดึงข้อมูลจากตาราง book
2. ประมวลผลคำสั่ง SQL ด้วยคำสั่ง execute ของภาษา Python
3. ใช้คำสั่ง fetchall เพื่อดึงข้อมูลทั้งหมดมาเก็บไว้ที่ตัวแปร records
4. ใช้คำสั่ง for loop เพื่อวนลูปข้อมูลทั้งหมดในตัวแปร records มาเก็บไว้ในตัวแปร row แบบที่ละแถว และแสดงผลออกสู่หน้าจอด้วยคำสั่ง print
5. ส่วน row[0] คือ Column แรกในตารางข้อมูล เรียงไปเรื่อยๆ เช่น 0 = id, 1 = title และ 2 = price
ตัวอย่าง โปรแกรมแบบเต็ม
import mysql.connector
cnx = mysql.connector.connect(user='root', password='', host='127.0.0.1', database='db_example')
cur = cnx.cursor()
cur.execute("SELECT * FROM book")
records = cur.fetchall()
for row in records:
print(row[0])
print(row[1])
print(row[2])
print("\n")
cnx.close()