Mysql là một trong những Dbs mã nguồn mở được sử dụng rộng rãi nhất. Python cung cấp các cách kết nối với DB này và sử dụng DB để lưu trữ và truy xuất dữ liệu từ nó.
Cài đặt pymysql
Tùy thuộc vào môi trường python bạn đang sử dụng, gói pymysql có thể được cài đặt bằng một trong các phương pháp sau.
# From python console pip install pymysql #Using Anaconda conda install -c anaconda pymysql # Add modules using any python IDE pymysql
Kết nối với MySql
Bây giờ chúng ta có thể kết nối với môi trường Mysql bằng đoạn mã sau. Sau khi kết nối, chúng tôi đang tìm ra phiên bản của DB.
Ví dụ
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()
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Database version : 8.0.19
Thực thi các lệnh DB
Để thực hiện các lệnh DB, chúng ta ngừng chuyển một con trỏ db và một truy vấn Sql vào con trỏ đó. Sau đó, chúng tôi sử dụng phương thức cursor.execute để lấy kết quả từ việc thực thi con trỏ.
Ví dụ
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()
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
fname = Jack, lname = Ma, age = 31, sex = M, income = 12000