ไพทอนการเพิ่มข้อมูลเข้าไปในตาราง Python Insert data table Mysql
ตัวอย่างการเพิ่มข้อมูลเข้าไปในตาราง ของ ฐานข้อมูล MySQL
ตัวอย่าง db_mysql_insert.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# ตัวอย่าง db_mysql_createtable.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;')
sql = """INSERT INTO `mindphp` (`id`, `name_first` , `name_last`, `favorite_color` ) VALUE (NULL, 'ชื่อทดสอบ1 ','นามสกุลทดสอบ 1', 'สีฟ้า') """
sql = sql.encode('utf-8')
try:
cur.execute(sql)
c.commit()
print('เพิ่มข้อมูล เรียบร้อยแล้ว')
except:
c.rollback()
print('เพิ่มข้อมูล ผิดพลาด')
except m.Error:
print('ติดต่อฐานข้อมูลผิดพลาด')
if c:
c.close()
จากตัอวย่างเป็นการเพิ่มข้อมูลเช้าตาราง ชื่อ mindphp
ข้อมูลควรใช้ encode เป็น utf-8
จากตัวอย่างถ้าไม่มี
cur.execute('SET NAMES utf8;')ข้อมูลที่เข้าไปในตารางจะมีปัญหาภาษาไทยอ่านไม่ออก
และถ้าไม่มีคำสั่ง
sql = sql.encode('utf-8')
จะเกิด Error
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 90-98: ordinal not in range(256)
ผลการรันโปรแกรม จะได้แถวข้อมูลใหม่เข้าไปในตารางในฐานข้อมูล โดยไม่มีปัญหา ภาษาไทยแต่อย่างใด