ไพทอนรับข้อมูลจากภายนอกเก็บลงใน ฐานข้อมูล 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 การทำงาน