Mysql เป็นหนึ่งใน Dbs โอเพ่นซอร์สที่ใช้กันอย่างแพร่หลายมากที่สุด Python มีวิธีเชื่อมต่อกับ DB นี้ และใช้ DB เพื่อจัดเก็บและดึงข้อมูลจากมัน
ติดตั้ง pymysql
ขึ้นอยู่กับสภาพแวดล้อมของ python ที่คุณใช้ แพ็คเกจ pymysql สามารถติดตั้งได้โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
# From python console pip install pymysql #Using Anaconda conda install -c anaconda pymysql # Add modules using any python IDE pymysql
กำลังเชื่อมต่อกับ MySql
ตอนนี้เราสามารถเชื่อมต่อกับสภาพแวดล้อม Mysql โดยใช้รหัสต่อไปนี้ หลังจากเชื่อมต่อแล้ว เราก็กำลังค้นหาเวอร์ชันของฐานข้อมูล
ตัวอย่าง
import pymysql # Open database connection db = pymysql.connect("localhost","testuser","test123","TESTDB" ) # 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()
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Database version : 8.0.19
การดำเนินการคำสั่งฐานข้อมูล
ในการรันคำสั่ง DB เราสร้างเคอร์เซอร์ db และคำสั่ง sql ที่จะส่งผ่านไปยังเคอร์เซอร์นั้น จากนั้นเราใช้เมธอด cursor.execute เพื่อให้ได้ผลลัพธ์จากการดำเนินการเคอร์เซอร์
ตัวอย่าง
import pymysql # Open database connection db = pymysql.connect("localhost","username","paswd","DBname" ) # prepare a cursor object using cursor() method cursor = db.cursor() sql = "SELECT * FROM EMPLOYEE \ WHERE INCOME > '%d'" % (1000) try: # Execute the SQL command cursor.execute(sql) # Fetch all the rows in a list of lists. results = cursor.fetchall() for row in results: fname = row[0] lname = row[1] age = row[2] sex = row[3] income = row[4] # Now print fetched result print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \ (fname, lname, age, sex, income ) except: print "Error: unable to fecth data" # disconnect from server db.close()
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
fname = Jack, lname = Ma, age = 31, sex = M, income = 12000