Computer >> Máy Tính >  >> Lập trình >> MySQL

Kết nối MySqldb bằng Python

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