วิธีการ Search database แบบพื้นฐานๆ โดย Python

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

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

ภาพประจำตัวสมาชิก
MBMoo
PHP VIP Members
PHP VIP Members
โพสต์: 25361
ลงทะเบียนเมื่อ: 04/06/2020 10:05 am

วิธีการ Search database แบบพื้นฐานๆ โดย Python

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

วิธีการ Search database แบบพื้นฐานๆ โดย Python ซึ่งจะใช้คู่กับ Flask และคำสั่ง SQL โดยการค้าหาข้อมูลจาก ฐานข้อมูล จะมีหลายแบบ อาจจะค้นหาตรงๆตัว หรือบางตัวก็ได้ ซึ่ง รูปแบบการค้นหาที่เราจะมาแชร์ในวันนี้ เป็นการต้นหาแบบบางตัว ค่ะ

อันนี้เป็นภาพรวมของ code ทั้งหมดนะคะ

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

@app.route('/path/<keys>', methods=['GET'])
@connect_sql()
def path(cursor, keys):
    sql = "SELECT * FROM table WHERE field1 LIKE %s  "
    args = "%" + keys + "%"
    cursor.execute(sql, (args, args, args))
    columns = [column[0] for column in cursor.description]
    result = toJson(cursor.fetchall(), columns)
    if result:
        return jsonify(result)
    else:
        return jsonify(None)
อันนี้เป็นการอธิบายแยกย่อยนะคะ

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

@app.route('/path/<keys>', methods=['GET'])
ขั้นแรกนะคะ ตั้งชื่อ path ตามความเหมาะสมเลยค่ะ และเราจะรับตัวแปล keyword มาพร้อมกับ path นะคะ เราสามารถตั้งชื่ออะไรก็ได้ แต่ในที่นี้จะตั้งชื่อตัวแปลว่า keys
methods เป็น GET นะคะ ใหญ่ๆก็จะมี GET POST

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

@connect_sql()
เรียกใช้การเชื่อมต่อกับ database นะคะ

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

def path(cursor, keys):
    sql = "SELECT * FROM table WHERE field LIKE %s "
    args = "%" + keys + "%"
    cursor.execute(sql, (args))
3บันทัดนี้จะเป็นการใช้ sql เพื่อค้นหาใน database สมติว่าพิม "ก" ก็จะหาประโยคหรือคำจากใน field นั้นๆ ที่มี "ก" อยู่ ไม่จำเป็นต้องขึ้นต้นด้วย "ก"
เช่น กรรไกร หาอะไรกิน

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

   columns = [column[0] for column in cursor.description]
    result = toJson(cursor.fetchall(), columns)
result จะทำการเก็บผลรับ

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

   if result:
        return jsonify(result)
    else:
        return jsonify(None)
ถ้ามีข้อมูลก็ให้ส่งข้อมูลผ่าน json เลยค่ะ

ผลลัพธ์
Python Knowledge-1.png
Python Knowledge-2.png

สามารถเรียนรู้เรื่องอื่นๆ เพิ่มเติมได้ที่
วิธีการ ลงเวลา โดย Python viewtopic.php?f=144&t=67890&p=189959#p189959
วิธีการ โชว์ข้อมูลด้วยการ Format วันที่ โดย Python viewtopic.php?f=144&t=67888
วิธีการ Search database แบบพื้นฐานๆ โดย Python viewtopic.php?f=144&t=67885&p=189951#p189951
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

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

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