Mẹo về Hướng dẫn dùng mysql driver python Chi Tiết
You đang tìm kiếm từ khóa Hướng dẫn dùng mysql driver python được Cập Nhật vào lúc : 2022-10-11 05:16:33 . Với phương châm chia sẻ Kinh Nghiệm Hướng dẫn trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi Read Post vẫn ko hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Ad lý giải và hướng dẫn lại nha.
Để xây dựng những ứng dụng, link với cơ sở tài liệu là yếu tố thiết yếu cho những ngôn từ lập trình. Python được cho phép toàn bộ chúng ta link ứng dụng với những cơ sở tài liệu như MySQL, SQLite, MongoDB và nhiều ứng dụng khác.
Nội dung chính
- Cài đặt
mysql.connector Cách 1: sử dụng trình setup pip Cách 2: setup ứng dụng mysql.connector Kiểm tra link Python với MySQL Mục lục1- PyMySQL là gì? 2- Cài đặt PyMySQL 3- Database mẫu 4- Kết nối MySQL từ Python với PyMySQL 5- Ví dụ Query 6- Ví dụ Insert 7- Ví dụ Update 8- Ví dụ Delete 9- Gọi Thủ tục 10- Gọi Hàm
Bài này toàn bộ chúng ta sẽ tìm hiểu về setup môi trường tự nhiên vạn vật thiên nhiên MySQL cho Python.
Nội dung chính
- Cài đặt mysql.connector
- Cách 1: sử dụng trình setup pipCách 2: setup ứng dụng mysql.connector
Kiểm tra link Python với MySQL
Cài đặt
mysql.connector
Để link ứng dụng python với cơ sở tài liệu MySQL, toàn bộ chúng ta phải import mô-đun mysql.connector trong chương trình.
Mysql.connector không phải là mô-đun tích hợp đi kèm theo với setup python. Chúng ta cần setup nó như sau:
Cách 1: sử dụng trình setup pip
Thực hiện lệnh sau để setup nó bằng trình setup pip:
> python -m pip install mysql-connector
Kết quả:
Hoặc tuân theo tiến trình sau:
Cách 2: setup ứng dụng mysql.connector
1. Open link sau và tải file driver tương ứng cho hệ điều hành quản lý của bạn.
://dev.mysql/downloads/connector/python/
2. Cài đặt file vừa tải về.
Ví dụ, thông số kỹ thuật máy tính của tớ như sau:
- Hệ điều hành quản lý Window 10 Python 3.7.3
Mình cần tải mysql.connector như trong ảnh sau:
Kiểm tra link Python với MySQL
Hãy đảm bảo là bạn đã setup sever MySQL trên máy tính của bạn rồi nhé. Bạn hoàn toàn có thể tìm hiểu thêm bài Cài đặt MySQL Server.
Ví dụ sau được sử dụng để kiểm tra link Python với
MySQL:
import mysql.connector
#Create the connection object
myconn = mysql.connector.connect(host = “localhost”, user = “root”,
passwd = “123456”)
#printing the connection object
print(myconn)
Kết quả:
<mysql.connector.connection.MySQLConnection object 0x002DF810>
Theo kết quả như trên thì toàn bộ chúng ta đã setup môi trường tự nhiên vạn vật thiên nhiên MySQL cho Python thành công xuất sắc rồi!
Chúc những bạn thành công xuất sắc!
Mục lục
Nhóm tăng trưởng của chúng tôi vừa trình làng website langlearning học tiếng
Anh, Nga, Đức, Pháp, Việt, Trung, Hàn,
Nhật, … miễn phí cho toàn bộ mọi người.
Là một website được viết trên công nghệ tiên tiến và phát triển web Flutter vì vậy tương hỗ rất tốt cho những người dân học, kể cả những người dân học khó tính nhất.
Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và khá đầy đủ hơn. Mong những bạn nghé thăm và ủng hộ website mới của chúng tôi.
Hãy theo dõi chúng tôi trên Fanpage để nhận được tin báo mọi khi có nội dung bài viết mới.
fb
1- PyMySQL là gì?
Để link từ Python vào một trong những cơ sở dữ
liệu bạn cần một Driver (bộ điều khiển và tinh chỉnh), nó là một thư viện dùng để rỉ tai với cơ sở tài liệu. Với cơ sở tài liệu MySQL bạn có 3 sự lựa chọn Driver như vậy:
MySQL/connector for PythonMySQLdbPyMySQL
Driver
Mô tả
MySQL/Connector for Python
Đây là một thư viện được phục vụ bởi chính hiệp hội MySQL.
MySQLdb
MySQLdb là thư viện giúp link vào MySQL từ Python, nó được viết trên ngôn từ C, nó được phục vụ miễn phí và là mã nguồn mở.
PyMySQL
Đây là một thư viện giúp link vào MySQL từ Python, là một thư viện thuần Python. Mục tiêu của PyMySQL là thay thế cho MySQLdb và thao tác trên CPython, PyPy và IronPython.
PyMySQL là một dự án công trình bất Động sản mã nguồn mở, và mã nguồn của nó bạn hoàn toàn có thể xem tại đây:
2- Cài đặt PyMySQL
Để setup PyMySQL trên Windows (Hoặc Ubuntu/Linux) bạn cần mở hiên chạy cửa số CMD, và thực thi lệnh sau:
3- Database mẫu
“simplehr” là một cơ sở tài liệu mẫu, được sử dụng trong nhiều hướng dẫn trên o7planning. Trong nội dung bài viết này tôi cũng sử dụng nó. Bạn hoàn toàn có thể tạo cơ sở tài liệu này theo phía dẫn dưới đây:
4- Kết nối MySQL từ Python với PyMySQL
Ví dụ đơn thuần và giản dị sau sử dụng Python link vào MySQL và truy vấn bảng Department:
connectExample.py
import pymysql.cursors
# Kết nối vào database.
connection = pymysql.connect(host=”192.168.5.134″,
user=”root”,
password=’1234′,
db=’simplehr’,
charset=”utf8mb4″,
cursorclass=pymysql.cursors.DictCursor)
print (“connect successful!!”)
try:
with connection.cursor() as cursor:
# SQL
sql = “SELECT Dept_No, Dept_Name FROM Department ”
# Thực thi câu lệnh truy vấn (Execute Query).
cursor.execute(sql)
print (“cursor.description: “, cursor.description)
print()
for row in cursor:
print(row)
finally:
# Đóng link (Close connection).
connection.close()
Kết quả chạy ví dụ:
connect successful!!
cursor.description: ((‘Dept_No’, 253, None, 80, 80, 0, False), (‘Dept_Name’, 253, None, 1020, 1020, 0, False))
‘Dept_No’: ‘D10’, ‘Dept_Name’: ‘ACCOUNTING’
‘Dept_No’: ‘D20’, ‘Dept_Name’: ‘RESEARCH’
‘Dept_No’: ‘D30’, ‘Dept_Name’: ‘SALES’
‘Dept_No’: ‘D40’, ‘Dept_Name’: ‘OPERATIONS’
Module tiện ích:
Một lời khuyên là bạn nên tạo ra một
module tiện ích để tạo một link tới cơ sở tài liệu. Ở đây tôi tạo một module mang tên “myconnutils”, module này định nghĩa hàm getConnection() trả về một connection.
myconnutils.py
import pymysql.cursors
# Hàm trả về một connection.
def getConnection():
# Bạn hoàn toàn có thể thay đổi những thông số link.
connection = pymysql.connect(host=”192.168.5.129″,
user=”root”,
password=’1234′,
db=’simplehr’,
charset=”utf8mb4″,
cursorclass=pymysql.cursors.DictCursor)
return connection
5- Ví dụ Query
Ví dụ sau này truy vấn bảng Employee, Python sử dụng %s như thể một “nơi giữ chỗ” (placeholder) cho những tham số, nó không phụ
thuộc kiểu của tham số. Ví dụ:
sql1 = “Insert into Department (Dept_Id, Dept_No, Dept_Name) values (%s, %s, %s) ”
sql2 = “Select * from Employee Where Dept_Id = %s ”
queryExample.py
# Sử dụng module tiện ích của bạn.
import myconnutils
connection = myconnutils.getConnection()
print (“Connect successful!”)
sql = “Select Emp_No, Emp_Name, Hire_Date from Employee Where Dept_Id = %s ”
try :
cursor = connection.cursor()
# Thực thi sql và truyền 1 tham số.
cursor.execute(sql, ( 10 ) )
print (“cursor.description: “, cursor.description)
print()
for row in cursor:
print (” ———– “)
print(“Row: “, row)
print (“Emp_No: “, row[“Emp_No”])
print (“Emp_Name: “, row[“Emp_Name”])
print (“Hire_Date: “, row[“Hire_Date”] , type(row[“Hire_Date”]) )
finally:
# Đóng link
connection.close()
6- Ví dụ Insert
insertExample.py
# Sử dụng module tiện ích của bạn.
import myconnutils
import pymysql.cursors
connection = myconnutils.getConnection()
print (“Connect successful!”)
try :
cursor = connection.cursor()
sql = “Select max(Grade) as Max_Grade from Salary_Grade ”
cursor.execute(sql)
# 1 dòng tài liệu
oneRow = cursor.fetchone()
# Output: ‘Max_Grade’: 4 or ‘Max_Grade’: None
print (“Row Result: “, oneRow)
grade = 1
if oneRow != None and oneRow[“Max_Grade”] != None:
grade = oneRow[“Max_Grade”] + 1
cursor = connection.cursor()
sql = “Insert into Salary_Grade (Grade, High_Salary, Low_Salary) ”
+ ” values (%s, %s, %s) ”
print (“Insert Grade: “, grade)
# Thực thi sql và truyền 3 tham số
cursor.execute(sql, (grade, 2000, 1000 ) )
connection.commit()
finally:
connection.close()
Output:
connect successful!!
Row Result: ‘Max_Grade’: 2
Insert Grade: 3
7- Ví dụ Update
updateExample.py
# Sử dụng module tiện ích của bạn.
import myconnutils
import pymysql.cursors
import datetime
connection = myconnutils.getConnection()
print (“Connect successful!”)
try :
cursor = connection.cursor()
sql = “Update Employee set Salary = %s, Hire_Date = %s where Emp_Id = %s ”
# Hire_Date
newHireDate = datetime.date(2002, 10, 11)
# Thực thi sql và truyền 3 tham số.
rowCount = cursor.execute(sql, (850, newHireDate, 7369 ) )
connection.commit()
print (“Updated! “, rowCount, ” rows”)
finally:
# Đóng link
connection.close()
Output:
connect successful!
Update! 1 rows
8- Ví dụ Delete
deleteExample.py
# Sử dụng module tiện ích của bạn.
import myconnutils
connection = myconnutils.getConnection()
print (“Connect successful!”)
try :
cursor = connection.cursor()
sql = “Delete from Salary_Grade where Grade = %s”
# Thực thi sql và truyền 1 tham số
rowCount = cursor.execute(sql, ( 3 ) )
connection.commit()
print (“Deleted! “, rowCount, ” rows”)
finally:
# Đóng link
connection.close()
Output:
connect successful!
Deleted! 1 rows
9- Gọi Thủ tục
Có một vài yếu tố khi bạn gọi một hàm (function) hoặc một thủ tục (procedure) trong Python. Tôi nêu lên môt trường hợp như sau:
Bạn có một thủ tục:
- Get_Employee_Info(p_Emp_Id, v_Emp_No, v_First_Name, v_Last_Name, v_Hire_Date)
get_Employee_Info
DELIMITER $$
— Thủ tục này lấy ra thông tin của nhân viên cấp dưới
— Đầu vào: p_Emp_ID (Integer)
— Có 4 tham số đầu ra v_Emp_No, v_First_Name, v_Last_Name, v_Hire_Date
CREATE PROCEDURE get_Employee_Info(p_Emp_ID Integer,
out v_Emp_No Varchar(50) ,
out v_First_Name Varchar(50) ,
Out v_Last_name Varchar(50) ,
Out v_Hire_date Date)
BEGIN
set v_Emp_No = concat( ‘E’ , Cast(p_Emp_Id as char(15)) );
—
set v_First_Name=”Michael”;
set v_Last_Name=”Smith”;
set v_Hire_date = curdate();
END
Thủ tục trên có một tham số nguồn vào p_Emp_Id và 4 tham số đầu ra v_Emp_No, v_First_Name, v_Last_Name, v_Hire_Date, bạn gọi một thủ tục này từ Python truyền vào giá trị cho p_Emp_Id để lấy ra 4 giá trị đầu ra. Thật không mong muốn giá trị nhận được không được đảm bảo đúng (Điều này được nói rõ trong đặc tả DB-API). Python chỉ hoàn toàn có thể lấy ra những giá trị từ một mệnh đề
SELECT.
Đặc tả DB-API:
def callproc(self, procname, args=()):
“””Execute stored procedure procname with args
procname — string, name of procedure to execute on server
args — Sequence of parameters to use with procedure
Returns the original args.
Compatibility warning: PEP-249 specifies that any modified
parameters must be returned. This is currently impossible
as they are only available by storing them in a server
variable and then retrieved by a query. Since stored
procedures return zero or more result sets, there is no
reliable way to get OUT or INOUT parameters via callproc.
The server variables are named @_procname_n, where procname
is the parameter above and n is the position of the parameter
(from zero). Once all result sets generated by the procedure
have been fetched, you can issue a SELECT @_procname_0, …
query using .execute() to get any OUT or INOUT values.
Compatibility warning: The act of calling a stored procedure
itself creates an empty result set. This appears after any
result sets generated by the procedure. This is non-standard
behavior with respect to the DB-API. Be sure to use nextset()
to advance through all result sets; otherwise you may get
disconnected.
“””
Tuy vậy bạn vẫn hoàn toàn có thể xử lý và xử lý được yếu tố ở trên, bạn nên phải bao bọc (wrap) thủ tục Get_Employee_Info ở trên bởi một thủ tục khác (Chẳng hạn Get_Employee_Info_Wrap), thủ tục này trả về những giá tri thông qua mệnh đề SELECT (Select clause).
get_Employee_Info_Wrap
DROP procedure IF EXISTS `get_Employee_Info_Wrap`;
DELIMITER $$
— Thủ tục này bao bọc thủ tục Get_Employee_Info
CREATE PROCEDURE get_Employee_Info_Wrap(p_Emp_ID Integer,
out v_Emp_No Varchar(50) ,
out v_First_Name Varchar(50) ,
Out v_Last_name Varchar(50) ,
Out v_Hire_date Date)
BEGIN
Call get_Employee_Info( p_Emp_Id, v_Emp_No, v_First_Name, v_Last_Name, v_Hire_Date);
— SELECT
Select v_Emp_No, v_First_Name, v_Last_Name, v_Hire_Date;
END
Thay vì gọi thủ tục
Get_Employee_Info trong Python, hãy gọi thủ tục Get_Employee_Info_Wrap.
callProcedureExample.py
# Sử dụng module tiện ích của bạn.
import myconnutils
import datetime
connection = myconnutils.getConnection()
print (“Connect successful!”)
try :
cursor = connection.cursor()
# Get_Employee_Info_Wrap
# @p_Emp_Id Integer ,
# @v_Emp_No Varchar(50) OUTPUT
# @v_First_Name Varchar(50) OUTPUT
# @v_Last_Name Varchar(50) OUTPUT
# @v_Hire_Date Date OUTPUT
v_Emp_No = “”
v_First_Name= “”
v_Last_Name= “”
v_Hire_Date = None
inOutParams = ( 100, v_Emp_No, v_First_Name , v_Last_Name, v_Hire_Date )
resultArgs = cursor.callproc(“Get_Employee_Info_Wrap” , inOutParams )
print (‘resultArgs:’, resultArgs )
print ( ‘inOutParams:’, inOutParams )
print (‘ ———————————– ‘)
for row in cursor:
print(‘Row: ‘, row )
print(‘Row[v_Emp_No]: ‘, row[‘v_Emp_No’] )
print(‘Row[v_First_Name]: ‘, row[‘v_First_Name’] )
print(‘Row[v_Last_Name]: ‘, row[‘v_Last_Name’] )
# datetime.date
v_Hire_Date = row[‘v_Hire_Date’]
print(‘Row[v_Hire_Date]: ‘, v_Hire_Date )
finally:
# Đóng link.
connection.close()
Chạy ví dụ:
connect successful!
resultArgs: (100, ”, ”, ”, None)
inOutParams: (100, ”, ”, ”, None)
———————————–
Row: ‘v_Emp_No’: ‘E100’, ‘v_First_Name’: ‘Michael’, ‘v_Last_Name’: ‘Smith’, ‘v_Hire_Date’: datetime.date(2022, 5, 17)
Row[v_Emp_No]: E100
Row[v_First_Name]: Michael
Row[v_Last_Name]: Smith
Row[v_Hire_Date]: 2022-05-17
10- Gọi Hàm
Để gọi hàm (function) trong Python, bạn nên tạo một câu truy vấn (query clause), và thực thi câu lệnh truy vấn này.
Dưới đấy là hàm Get_Emp_No, tham số nguồn vào là
p_Emp_Id và trả về Emp_No (Mã nhân viên cấp dưới).
Get_Emp_No
DROP function if Exists `Get_Emp_No`;
DELIMITER $$
CREATE Function Get_Emp_No (p_Emp_Id Integer) Returns Varchar(50)
Begin
return concat(‘E’, CAST(p_Emp_Id as char)) ;
END;
callFunctionExample.py
# Sử dụng module tiện ích của bạn.
import myconnutils
import datetime
connection = myconnutils.getConnection()
print (“Connect successful!”)
try :
cursor = connection.cursor()
# Get_Employee_Info_Wrap
# @p_Emp_Id Integer
v_Emp_No = “”
inOutParams = ( 100 )
sql = “Select Get_Emp_No(%s) as Emp_No ”
cursor.execute(sql, ( 100 ) )
print (‘ ———————————– ‘)
for row in cursor:
print(‘Row: ‘, row )
print(‘Row[Emp_No]: ‘, row[‘Emp_No’] )
finally:
# Đóng link (Close connection).
connection.close()
Chạy ví dụ:
connect successful!
———————————–
Row: ‘Emp_No’: ‘E100’
Row[Emp_No]: E100
Có thể bạn quan tâm
Đây là những khóa học trực tuyến bên phía ngoài website o7planning mà chúng tôi trình làng, nó hoàn toàn có thể gồm có những khóa học miễn phí hoặc giảm giá.
Tải thêm tài liệu liên quan đến nội dung bài viết Hướng dẫn dùng mysql driver python
programming
python
Cursor trong Python
MySQL Connector-Python
INSERT MySQL Python
Bằng Python
Reply
9
0
Chia sẻ
Video Hướng dẫn dùng mysql driver python ?
Bạn vừa tìm hiểu thêm Post Với Một số hướng dẫn một cách rõ ràng hơn về Video Hướng dẫn dùng mysql driver python tiên tiến và phát triển nhất
Share Link Down Hướng dẫn dùng mysql driver python miễn phí
Quý khách đang tìm một số trong những Chia Sẻ Link Down Hướng dẫn dùng mysql driver python miễn phí.
Hỏi đáp vướng mắc về Hướng dẫn dùng mysql driver python
Nếu Pro sau khi đọc nội dung bài viết Hướng dẫn dùng mysql driver python , bạn vẫn chưa hiểu thì hoàn toàn có thể lại phản hồi ở cuối bài để Ad lý giải và hướng dẫn lại nha
#Hướng #dẫn #dùng #mysql #driver #python