Connect mysql with Python - mrolarik/simple-iot GitHub Wiki
- การเขียนภาษา Python เพื่อเชื่อมต่อ (Connect) ไปยัง mysql สามารถทำได้โดยติดตั้ง
mysql driver
โดยพิมพ์คำสั่งดังต่อไปนี้
$ sudo python -m pip install mysql-connector
หากไม่ได้ติดตั้ง mysql-connecter
เมื่อเรียกใช้จะเกิดข้อผิดพลาดดังนี้
>>> import mysql.connector
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named mysql.connector
- จากนั้นให้กำหนดชื่อการเชื่อมต่อ
mydb = mysql.connector
- กำหนด
host
,user
,password
และdatabase
ที่จะเชื่อมต่อ
mydb = mysql.connector.connect(
host="localhost",
user="myusername",
passwd="mypassword",
database="iot_device"
)
print(mydb)
ผลลัพธ์ที่ได้หากการเชื่อมต่อสำเร็จ
<mysql.connector.connection.MySQLConnection object ar 0x016645F0>
- จากตัวอย่างข้างต้น กำหนดให้เชื่อมต่อกับ
database
ที่ชื่อiot_device
- หากต้องการให้แสดงรายชื่อของ
table
ที่อยู่ในฐานข้อมูลiot_device
สามารถทำได้โดย
mycursor = mydb.cursor()
mycursor.execute("SHOW TABLES")
# show table name
for x in mycursor:
print(x)
จากตัวอย่างโปรแกรมจะแสดงชื่อของ table
ที่อยู่ใน database
ดังนี้
(u'iot',)
นั่นแสดงว่าในฐานข้อมูล iot_device
ประกอบด้วย 1 ตารางคือ iot
- การเพิ่มข้อมูลลงไปยังตาราง
iot
สามารถทำได้ดังนี้
sql = 'INSERT INTO iot(iot_name, iot_value1, iot_value2) VALUES (%s, %s, %s)'
val = ('TEMP', '20', '25')
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
ผลลัพธ์ที่ได้จากการทำงานของโปรแกรม แสดงดังต่อไปนี้
(1, 'record inserted.')
#----------connect_mysql.py------------
mydb = mysql.connector.connect(
host="localhost",
user="myusername",
passwd="mypassword",
database="iot_device"
)
mycursor = mydb.cursor()
sql = 'INSERT INTO iot(iot_name, iot_value1, iot_value2) VALUES (%s, %s, %s)'
val = ('TEMP', '20', '25')
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
- จากนั้นทำการรันโปรแกรม Python ด้วยคำสั่ง
$ python connect_mysql.py
ผลลัพธ์ที่ได้ (1, 'record inserted.')
- จากนั้นสามารถเปิดเข้าไปยัง
phpmyadmin
เพื่อตรวจสอบข้อมูลที่เพิ่มเข้าไป