การใช้งาน flask ร่วมกับ database ด้วย pymysql

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
ewqolf
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 621
ลงทะเบียนเมื่อ: 14/11/2022 9:26 am

การใช้งาน flask ร่วมกับ database ด้วย pymysql

โพสต์ที่ยังไม่ได้อ่าน โดย ewqolf »

การใช้งาน flask ร่วมกับ database ด้วย pymysql
การใช้งาน flask ในการเป็น webserver จำลองโดยเบื้องต้น นั้นเราก็ได้พูดถึงกันไปแล้วในกระทู้ก่อนหน้านี้ไปแล้ว ซึ่ง flask ที่เป็นตัว framework ของ python นั้นก็ยังสามารถใช้งานในการเชื่อมต่อกับตัว database ได้อีกด้วย ซึ่งในกระทู้นี้จะขอยกตัวอย่างการเชื่่อมต่อกับ database ของ phpmyadmin สำหรับการดึงข้อมูลหรือเพิ่มข้อมูลลงใน database กันนะครับ
วิธีการ
จะขอเริ่มต้นจากการใช้งานตัว phpmyadmin ก่อนนะครับโดยเราจะใช้งานตัวของ xampp ในการเปิด phpmyadmin ใน localhost ให้เราทำการสร้าง database ขึ้นมาในตัวของ database และสร้างตารางอะไรก็ได้มา 1 ตารางโดยกระทู้นี้จะสร้าง database ที่ใช้ว่า basetestdb และตาราง user นะครับ
และต่อมาเราจะต้องทำการ Install ในตัวของ pymysqlและตัวของ flask ด้วยในตัว terminal ด้วยคำสั่ง

โค้ด: เลือกทั้งหมด

pip install pymysql
และ

โค้ด: เลือกทั้งหมด

pip install flask
หลังจากที่เราทำการ install pymysql เสร็จสิ้นเราจะไปต่อกันที่โค้ด .py เราจะเริ่มต้นจากการ import module ที่เราจะทำงานร่วมด้วยซึ่งก็คือ flask และ pymysql ด้วยโค้ด

โค้ด: เลือกทั้งหมด

from flask import Flask
import pymysql
จากนั้นเราก็จะเขียน rount ของหน้าเว็บเรานะครับด้วยโค้ด

โค้ด: เลือกทั้งหมด

@app.route('/')
def index():
    return "Hello World"
หลังจากนั้นเราจะต้องมีการสร้าง connection ของ database ด้วยโค้ด

โค้ด: เลือกทั้งหมด

conn=pymysql.connect(host='localhost',user='root',password='',database='basetestdb')
เป็นคำสั่งที่ใช้สำหรับเชื่อมต่อกับ database ซึ่ง host จะเป็น localhost ต่อมา user โดยปกติแล้วถ้าเรายังไม่มีการตั้งชื่อจะเป็นชื่อว่า root และ password ก็จะยังไม่มีจึงไม่มีในส่วย password จะปล่อยว่างไปเลย แล้วต่อมาก็เป็นชื่อของ database ที่เราต้องการเชื่อมต่อในที่นี้จะเชื่อมต่อกับ basetestdb ที่เราได้มีการสร้างไว้ในตอนต้นของกระทู้ ซึ่งทั้งหมดจะถูกเก็บไว้ในตัวแปร conn จากนั้นวิธีใช้งานของตัว sql นั้นเราจะต้องเขียนโค้ดดังนี้

โค้ด: เลือกทั้งหมด

with conn:
        cur=conn.cursor()
        cur.execute('SELECT * FROM user')
        rows=cur.fetchall()
        print(rows)
จากนั้นเราจะต้องทำการกำหน้า cursor ก่อนจกานั้น ก็จะให้ตัว cur เป็นตัวรันโค้ด sql ด้วย cur.execute('#โค้ด sql ที่เราต้องการจะรัน') ซึ่งในกรณีนี้จะขอให้ select * from user นะครับ จากนั้นข้อมูลที่เราทำการเลือกมานั้นจะถูกเก็บอยู่ใน cur เราจะเอาข้อมูลมาใส่ในตัวของ rows ด้วยคำสั่ง rows=cur.fetchall จากนั้นจะให้แสดงค่าในโปรแกรม และก็ คืนค่าเป็นแสดงค่า hello world ซึ่งเราจะรวมโค้ดทั้งหมดไว้ได้ดังนี้

โค้ด: เลือกทั้งหมด

from flask import Flask
import pymysql
@app.route('/')
def index():
	conn=pymysql.connect(host='localhost',user='root',password='',database='basetestdb')
	with conn:
        	cur=conn.cursor()
        	cur.execute('SELECT * FROM user')
        	rows=cur.fetchall()
	print(rows)
   	return "Hello World"
และนี้คือผลลัพธืจากการ select ข้อมูลมาจาก database
ผลลัพธ์จาก database
ผลลัพธ์จาก database
ผลลัพธ์จาก database.PNG (1.08 KiB) Viewed 982 times
สรุป
จากโค้ดด้านบนจะเป็นโค้ดสำหรับการเชื่อมต่อกับ database เบื้องต้นซึ้งเราก็จะสามารถใช้งานโค้ด sql ในส่วนของการ Insert into หรือว่า select ได้เหมือนกับตัว ภาษา SQL ได้แบบปกติเลย และจะมีเรื่องของการส่งข้อมูลที่เรา select มาไปยังหน้าเว็บไซต์อื่นๆได้อีกซึ่งเราจะพูดถึงส่วนนี้ในอนาคตครับ
คนจะตายเมื่อถูกฆ่า...ขอบคุณครับ
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 82