PDA

View Full Version : ติดต่อฐานข้อมูล MySQL ด้วยไพธอนครับ !!



nprotech
16-06-2004, 02:06 AM
สวัสดีครับ.. วันนี้ผมจะพาเพื่อน ๆ ติดต่อฐานข้อมูล MySQL ด้วยภาษาไพธอนครับ..
ก่อนอื่น ต้องอนุมานว่าเพื่อน ๆ ได้ติดตั้ง Mysql และไพธอนไว้ในระบบปฏิบัติการเรียบร้อยแล้วนะครับ..

ในการติดต่อกับฐานข้อมูลเช่น oracle, mysql , progress และอื่น ๆ สิ่งแรกที่ต้องทำคือโหลดตัวอินเตอร์เฟสระหว่างไพธอนและฐานข้อมูลที่เราต้องการติดต่อ..
ในตัวอย่างนี้ให้เพื่อน ๆ ค้นคำว่า python mysql interface จาก google.com และติดตั้งให้เรียบร้อย (เดี๋ยวรอประเดี๋ยว ผมจะไปค้นให้ครับ..

อืม.. มาแล้ว ลิงค์ต่อไปนี้ครับ
http://sourceforge.net/project/showfiles.p...ackage_id=15775 (http://sourceforge.net/project/showfiles.php?group_id=22307&package_id=15775)
)

สำหรับระบบยูนิกส์ให้โหลดไฟล์
MySQL-python-0.9.2-1.i386.rpm
MySQL-python2.1-0.9.2-1.i386.rpm
MySQL-python2-0.9.2-1.i386.rpm

ติดตั้งด้วยคำสั่ง rpm -ivh filename.rpm
เมื่อติดตั้งเสร็จเรียบร้อยแล้ว ทดสอบว่าสามารถเชื่อมต่อได้เรียบร้อยดี โดยการเปิดไพธอนและเรียกใช้คำสั่งต่อไปนี้
>>> import MySQLdb

ถ้าไม่มีข้อผิดพลาดเกี่ยวกับการโหลดใช้งานโมดูลนี้ แสดงว่าติดตั้งได้อย่างเรียบร้อยดี

ขั้นตอนพอเป็นสังเขปคือ
1. อิมพอร์ท MySQLdb
2. สร้างอ็อบเจ็คคอนเน็คชั่น
3. สร้างอ็อบเจ็คเคอร์เซอร์
4. เรียกใช้คำสั่ง SQL ผ่านฟังก์ชั่น execute ของอ็อบเจ็คเคอร์เซอร์
5. ดึงข้อมูลจากคำสั่ง SQL ด้วยคำสั่ง fetchall()
6. ปิดเคอร์เซอร์
7. ปิดคอนเน็คชั่น

ตัวอย่าง
>>> import MySQLdb
>>> conn = MySQLdb.connect("localhost","root","mypassword","mydatabasesname")
>>> cursor = conn.cursor()
>>> cursor.execute("Select * from mysql")
>>> rows = cursor.fetchall()
>>> cursor.close()
>>> conn.close()
>>> for i in range(len(rows)):
print rows[i][0], rows[i][1]

เนื่องจากเนื้อหาค่อนข้างยาวไปหน่อยครับ.. แต่เชื่อว่าเพื่อน ๆ เข้าใจได้อย่างไม่ยากนักนะครับ..

และเพียงเท่านี้เพื่อน ๆ ก็สามารถติดต่อฐานข้อมูล Mysql ด้วยไพธอนได้แล้วครับ..
สิ่งที่ควรให้ความสำคัญคือการเรียกใช้คำสั่ง SQL นะครับ..
สำหรับความรู้ที่ได้รับในวันนี้ คงมีประโยชน์ต่อเพื่อน ๆ ได้เป็นอย่างดี พบกันใหม่โอกาสหน้าครับ สำหรับวันนี้กล่าวคำว่า "สวัสดีครับ..บบ"

asylu3
16-06-2004, 02:53 AM
คาดว่าหากผม มีเวลาว่างเมื่อไหร่จะลง mysqlpython ให้ใช้กันที่ Sever CITEC นะครับ

tomzt
07-07-2004, 06:31 PM
เสริมครับ สำหรับ windows ก็มีน่ะครับ dl จากที่เดียวกันครับ
http://sourceforge.net/project/showfiles.p...ackage_id=15775 (http://sourceforge.net/project/showfiles.php?group_id=22307&package_id=15775) โดย dl file MySQL-python-1.0.0.win32-py2.3.zip การติดตั้งให้ extract ไฟล์ทั้งหมดออกมาแล้ว copy ไปที่ C:Python23Libsite-packages ส่วน code ในการติดต่อ ใช้ชุดเดียวกันเลยครับ