Modernine TV
ชื่อผู้แจ้ง : ชื้อผู้แจ้งข่าว admin     สถานีฯ admin      เวลาที่แจ้งข่าว แจ้งวันที่ : 8 กรกฎาคม 2560 เวลา 20:13:09      ถูกเปิดอ่านแล้ว 297 ครั้ง  297 / 0 ครั้ง   ลดขนาดตัวอักษร ลดขนาดตัวอักษร 
ประเภท : [ บทความ ]      Raspberry Pi      Raspberry Pi      Raspberry Pi
ชื่อเรื่อง : Python กับ SQL บันทึกข้อมูลลง MySQL โดยใช้ Python


       หายไปนาน Domain Name หมดอายุตั้งแต่เดือนพฤษภาคม 60 เราก็เลยทำงานอื่นไปพลางๆ เขาต่ออายุให้ เรยมาลุยกันต่อ งาน Raspberry การใช้ Python กับ SQL

MySQLdb คืออะไร ?
      MySQLdb เป็นอินเทอร์เฟซสำหรับเชื่อมต่อ Python กับเซิร์ฟเวอร์ฐานข้อมูล MySQL จาก Python มีการใช้งาน Python Database API v2.0 และสร้างขึ้นจาก MySQL C-API

จะติดตั้ง MySQLdb ได้อย่างไร ?
    ก่อนดำเนินการต่อคุณต้องแน่ใจว่าได้ติดตั้ง MySQLdb ไว้ในเครื่องของคุณแล้ว เพียงแค่พิมพ์ข้อความต่อไปนี้ ในสคริปต์ Python ของคุณและรันคำสั่งดังนี้


ตรวจสอบ Python Connect MySQL

สร้างไฟล์ ชื่อ sqltest.py (เพื่อทดสอบ MySQLdb กับ Python )
sudo nano sqltest.py





แล้วพิมพ์ข้อความนี้...

#!/usr/bin/python

import MySQLdb

แล้วกดปุ่ม Ctrl + x พร้อมกัน แล้วกดปุ่ม y เพื่อเซฟไฟล์
และกดปุ่ม Enter





ตรวจสอบ Python Connect MySQL

@ คำสั่งทำงาน
sudo python sqltest.py

หากผลที่ได้ตามรูป แสดงว่า MySQLdb ใช้งานได้แล้ว...



หากใช้งานไม่ได้ จะขึ้นข้อความว่า..

Traceback (most recent call last):
  File "test.py", line 3, in
    import MySQLdb
ImportError: No module named MySQLdb





ทดสอบสร้างสคริปต์ Python เพื่อติดต่อกับ MySQL

@ สร้างไฟล์ใหม่ ชื่อ py_sql.py
sudo nano /home/pi/py_sql.py


แล้วใส่คำสั่งต่อไปนี้...
------------------------------------------------------

import MySQLdb

db = MySQLdb.connect("localhost","root","password","database_name" )

if db:
    print('Connect Database OK')
else:
    print('Connect Database Error')


------------------------------------------------------
ในที่นี้    root คือ Username ใน phpmyadmin ของท่าน
              password คือ รหัส ใน phpmyadmin ของท่าน
              database_name คือ ชื่อฐานข้อมูล ของท่าน
------------------------------------------------------

ทำการเซฟไฟล์ โดยกด Ctrl + X แล้วกดปุ่ม Y   แล้วกด Enter


@ แล้ว RUN ไฟล์ Python ชื่อ py_sql.py  ด้วยคำสั่ง
sudo python /home/pi/py_sql.py





หาก Module MySQLdb ยังไม่ได้ติดตั้ง จะแสดงข้อความ ตามรูป ว่า...

Traceback (most recent call last):
  File "/home/pi/py_sql.py", line 1, in <module>
    import MySQLdb
ImportError: No module named MySQLdb





ถ้าใช้งานไม่ได้ ให้ติดตั้ง...

sudo apt-get update

sudo apt-get -y install python-mysqldb





เมื่อติดตั้ง python-mysqldb เรียบร้อยแล้ว..


@ ให้ RUN ไฟล์ Python ชื่อ py_sql.py
sudo python /home/pi/py_sql.py


ผลที่ได้.. สคริปต์จะทำการ Connect MySQL ได้ตามรูป





ตรวจสอบ MySQL

@ พิมพ์คำสั่ง
mysql -uroot -p

และป้อน password





แสดงข้อมูล user ชื่อ root  พิมพ์คำสั่ง
SHOW GRANTS FOR 'root'@'localhost';

"root" คือ user ที่ท่านตั้งไว้ใน MySQL





ออกจาก MySQL command prompt ?
พิมพ์คำสั่ง
exit

หรือกดปุม Ctrl + C





สร้างไฟล์ ชื่อ sql_connect.py
sudo nano sql_connect.py

================================================
#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","user","password","database" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# execute SQL query using execute() method.
cursor.execute("SELECT VERSION()")

# Fetch a single row using fetchone() method.
data = cursor.fetchone()

print "Database version : %s " % data

# disconnect from server
db.close()

=========================================

"user","password","database"  ต้องใส่ให้ตรงกับที่ท่านตั้งไว้





คำสั่งรันไพธอน
sudo python sql_connect.py





ข้อมูลจะตรงกับใน PHPMyAdmin ของเรา




ใช้ Python เขียนคำสั่ง Update ข้อมูลลงไปในตารางฐานข้อมูล ซะ




จัดทำโดย คณะเจ้าหน้าที่บริษัท อสมท จำกัด ( มหาชน ) ผู้มีโอกาสเข้าร่วมอบรมเทคโนโลยีดิจิตอล ณ ประเทศญี่ปุ่น