ให้เรตสมาชิก: 2 / 5

ดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

ไพทอนรับข้อมูลจากภายนอกเก็บลงใน ฐานข้อมูล Mysql Dinamic Insert data 

ไพทอนรับข้อมูลจากภายนอกเก็บลงใน ฐานข้อมูล Mysql Dinamic Insert data
ไพทอนรับข้อมูลจากภายนอกเก็บลงใน ฐานข้อมูล Mysql Dinamic Insert data

     จากบทที่แล้ว ไพทอนการเพิ่มข้อมูลเข้าไปในตาราง Python Insert data table Mysql เป็นการเพิ่มข้อมูลลงฐานข้อมูล Mysql ด้วยไพทอน โดยเขียนข้อความลงในคำสั่ง SQL สำหรับ Insert ข้อมูล ในบทนี้จะแนะนำการรับค่าจาก ภายนอกด้วย ฟังก์ชั่น input (การรับของข้อมูลจาก Keyboard ใน Python raw_input input) เรียกว่า dynamic insert
dd
ตัวอย่าง db_mysql_insert_input.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# ตัวอย่าง db_mysql_insert_input.py
# ตัวอย่าง เชื่อมต่อ ฐานข้อมูล Mysql 5.5
import pymysql as m
c = None
try:
    c = m.connect(host='localhost', user='root', passwd='', db='test_python')
    cur = c.cursor()    
    cur.execute('SET NAMES utf8;')
    loop = 1;
    while loop==1:
        name = input('กรอกชื่อ: ')
        lastname = input('กรอกนามสกุล: ')
        color = input('กรอกสีที่ชอบ: ')
        if name=='exit' or lastname=='exit' or color=='exit':
            loop = 0
            continue
        
        sql = "INSERT INTO `mindphp` (`id`, `name_first` , `name_last`, `favorite_color` ) \
                    VALUE (NULL, '%s ','%s', '%s') " \
                    %(name, lastname, color)
        sql = sql.encode('utf-8')
        try:
            cur.execute(sql)
            c.commit()
            print('เพิ่มข้อมูล เรียบร้อยแล้ว')
        except:
            c.rollback()
            print('เพิ่มข้อมูล ผิดพลาด')
    
except m.Error:
    print('ติดต่อฐานข้อมูลผิดพลาด')

if c:
    c.close()

อธิบายการทำงาน
name = input('กรอกชื่อ: ')
lastname = input('กรอกนามสกุล: ')
color = input('กรอกสีที่ชอบ: ')
รับข้อมูลจาก Keyword แล้วนำไปแทนค่าในคำสั่ง SQL
แล้วรันคำสั่ง sql ด้วย execute ตามโค้ดถ้า กรอกข้อมูลเข้ามาเป็นคำว่า exit ก็จะออกจาก Loop การทำงาน