สัปดาห์ที่ 15 : การเขียนโปรแกรมติดต่อฐานข้อมูล MySQL

» เนื่องจากเทอมนี้มีวันหยุดหลายครั้งมาก ๆ ทำให้สอนไม่ทัน ดังนั้น จะต้องมีการนัดสอนชดเชย และมีการรวบกิจกรรมเข้ามาเพื่อให้สอนได้ครบตามมาตรฐานรายวิชา มคอ 3
» การเขียนโปรแกรมติดต่อฐานข้อมูล (MySQL) จะมีสิ่งที่ต้องดำเนินการ 4 อย่าง คือ 1) เพิ่มข้อมูลได้ (INSERT) 2) ลบข้อมูลได้ (DELETE) 3) แก้ไขข้อมูลได้ (UPDATE) 4) สืบค้นข้อมูลได้ (SELECT)
» โดยจะใช้การติดต่อกับฐานข้อมูลด้วยโปรแกรมภาษา 3 ภาษา 1) Python 2) Visual Basic.NET 3) PHP
» หากนิสิตทำกิจกรรมได้ครบตามที่เนื้อหาที่กำหนดไว้ นิสิตจะมีความรู้และความเข้าใจวิธีการของการเชื่อมต่อฐานข้อมูลของแต่ละโปรแกรมภาษา และจะเป็นประโยชน์อย่างยิ่งในการนำไปใช้พัฒนาแอพลิคเชั่นต่าง ๆ ต่อไป

กิจกรรม 1: สร้างตาราง friend

1. ใช้โฮสต์ต่อไปนี้เพื่อจัดการฐานข้อมูล
https://bugbaa.com/ipcam/phpmyadmin
'user': "cp665407_ck",
'password': "chakkrit@2022!@#",
'host': "bugbaa.com",
'database': "cp665407_chakkrit",
2. สร้างตาราง : รหัสนิสิต_friend โดยมีคอลัมน์ดังนี้
- id -> เป็น auto increment (A_I)
- firstname เป็น varchar 80 ตัวอักษร
- lastname เป็น varchar 80 ตัวอักษร
- email เป็น varchar 80 ตัวอักษร
ปล. กำหนด collation เป็น utf8_bin
3. เพิ่มข้อมูลลงในตาราง : รหัสนิสิต_friend อย่างน้อย 3 รายการ
ปล. คลิ๊กที่แท็บ Insert ด้านบน จากนั้นป้อนข้อมูล firstname/lastname/email -> กดปุ่ม GO

กิจกรรม 2: การติดตั้งตัวเชื่อมต่อระหว่างไพธอนกับ mysql database

1. เปิด colab
2. ติดตั้งด้วยคำสั่ง -> !pip3 install mysql-connector-python

กิจกรรม 3: การสร้างการเชื่อมต่อระหว่าง python กับ mysql database

import mysql.connector as mysql
import mysql.connector

config = {
  'user': "cp665407_ck",
  'password': "chakkrit@2022!@#",
  'host': "bugbaa.com",
  'database': "cp665407_chakkrit",
  'raise_on_warnings': True
}
cnx = mysql.connector.connect(**config)
cnx.close()

กิจกรรม 4: การเรียกดูข้อมูล (SELECT)

cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()
sql ="SELECT * FROM 41410606_friend"
cursor.execute(sql)
for i in cursor:
  print(i)
cursor.close()
cnx.close()

กิจกรรม 5: การเพิ่มข้อมูล (INSERT)

cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()

Ds = {'firstname': 'จักรกฤษณ์',
  'lastname': 'แสงแก้ว',
  'email': "chakkrit@msu.ac.th"
}


placeholders = ', '.join(['%s'] * len(Ds))
columns = ', '.join("`" + str(x).replace('/', '_') + "`" for x in Ds.keys())
values = ', '.join("'" + str(x).replace('/', '_') + "'" for x in Ds.values())
sql = "INSERT INTO %s ( %s ) VALUES ( %s );" % ('friend', columns, values)

cursor.execute(sql)
cnx.commit()

cursor.close()
cnx.close()

กิจกรรม 6: การแก้ไขข้อมูล (UPDATE)

cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()


sql = "UPDATE friend SET lastname = 'ทดสอบ' WHERE id = 3;"

cursor.execute(sql)
cnx.commit()

cursor.close()
cnx.close()

กิจกรรม 7: การลบข้อมูล (DELETE)

cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()


sql = "DELETE FROM friend WHERE id = 1"

cursor.execute(sql)
cnx.commit()

cursor.close()
cnx.close()

กิจกรรม 8-16: การเขียน Visual Basic.NET ติดต่อกับ MySQL Server

» ให้ทำกิจกรรมที่ 16 - 24 ของลิงค์นี้ 

กิจกรรม 17 - 36 การเขียนโปรแกรม PHP เบื้องต้นและการติดต่อกับ MySQL Server

» ให้ VPN เข้ามาที่เน็ตเวอร์คมหาวิทยาลัย
»  ให้ WinSCP เข้ามาที่เครื่อง ip : 10.33.3.85 , username/password คือ รหัสนิสิตและเลขประชาชน
» ทำกิจกรรมที่  1 - 19 ของลิงค์นี้ 
» ดูผลลัพธ์ที่ http://10.33.3.85/รหัสนิสิต/select.php

การส่งงาน: ให้ส่งงานเข้า Google Classroom โดยบันทึกวีดีโอการทำงานพร้อมการบรรยายทั้งหมด

» ส่งงานก่อน วันที่ 28 ตุลาคม 2565
» สอบปลายภาค วันที่ 16 พฤศจิกายน 2565 (อาจมีการเปลี่ยนแปลง ให้ติดตามประกาศแจ้งในระบบ)

วิดีโอการติดต่อฐานข้อมูล MySQL ด้วย PHP

วีดีโอสอน : วิดีโอการติดต่อฐานข้อมูล MySQL ด้วย PHP
สัปดาห์ที่ 15 : การเขียนโปรแกรมติดต่อฐานข้อมูล MySQL