Hướng dẫn mysql-python
Nội dung chính Show
Đầu tiên các bạn cần phải Cài đặt môi trường MySQL cho Python
1. Import mô-đun mysql.connectorCú pháp: 2. Tạo đối tượng kết nối Python với MySQLPhương thức connect() của mô-đun mysql.connector được sử dụng để tạo đối tượng connection kết nối giữa cơ sở dữ liệu MySQL và ứng dụng python. Truyền các thông tin của database như HostName, username và password, cú pháp như sau: Connection-Object= mysql.connector.connect(host = Ví dụ tạo đối tượng connection: import mysql.connector # tạo đối tượng connection myconn = mysql.connector.connect(host = "localhost", user = "root", passwd = "123456") # in đối tượng connection ra màn hình print(myconn) Kết quả: Ở đây, chúng ta phải lưu ý rằng chúng ta có thể chỉ định tên cơ sở dữ liệu trong phương thức connect() nếu chúng ta muốn kết nối với một cơ sở dữ liệu cụ thể. Ví dụ: import mysql.connector # tạo đối tượng connection myconn = mysql.connector.connect(host = "localhost", user = "root", passwd = "123456", database = "mydb") # in đối tượng connection ra màn hình print(myconn) Kết quả: 3. Tạo một đối tượng con trỏĐối tượng con trỏ có thể được định nghĩa là một sự trừu tượng hóa được chỉ định trong Python DB-API 2.0. Nó tạo điều kiện cho chúng ta có nhiều môi trường làm việc riêng biệt thông qua cùng một kết nối với cơ sở dữ liệu. Chúng ta có thể tạo đối tượng con trỏ bằng cách gọi hàm cursor() của đối tượng connection. Đối tượng con trỏ là một khía cạnh quan trọng của việc thực hiện các truy vấn đến cơ sở dữ liệu. Cú pháp: Ví dụ tạo đối tượng con trỏ: import mysql.connector # tạo đối tượng connection myconn = mysql.connector.connect(host = "localhost", user = "root", passwd = "123456", database = "mydb") # in đối tượng connection ra màn hình print(myconn) # tạo đối tượng cursor cur = myconn.cursor() # in đối tượng cursor ra màn hình print(cur)
4. Thực hiện truy vấnBài hướng dẫn sau sẽ giúp bạn thực hiện các câu truy vấn CRUD (Create, Read, Update, Delete) với hệ quản trị cơ sở dữ liệu MySQL. Mục lụcNhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi người. Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người 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à đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi. 1- PyMySQL là gì?Để kết nối từ Python vào một cơ sở dữ liệu bạn cần một Driver (bộ điều khiển), nó là một thư viện dùng để nói chuyện với cơ sở dữ liệu. Với cơ sở dữ liệu MySQL bạn có 3 sự lựa chọn Driver như vậy:
2- Cài đặt PyMySQLĐể cài đặt PyMySQL trên Windows (Hoặc Ubuntu/Linux) bạn cần mở cửa sổ CMD, và thực thi lệnh sau: 3- Database mẫu"simplehr" là một cơ sở dữ liệu mẫu, được sử dụng trong nhiều hướng dẫn trên o7planning. Trong bài viết này tôi cũng sử dụng nó. Bạn có thể tạo cơ sở dữ liệu này theo hướng dẫn dưới đây: 4- Kết nối MySQL từ Python với PyMySQLVí dụ đơn giản sau sử dụng Python kết nối vào MySQL và truy vấn bảng Department: connectExample.py
Kết quả chạy ví dụ:
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 kết nối tới cơ sở dữ liệu. Ở đây tôi tạo một module có tên "myconnutils", module này định nghĩa hàm getConnection() trả về một connection. myconnutils.py
5- Ví dụ QueryVí dụ sau đây truy vấn bảng Employee, Python sử dụng %s như là một "nơi giữ chỗ" (placeholder) cho các tham số, nó không phụ thuộc kiểu của tham số. Ví dụ:
queryExample.py
6- Ví dụ InsertinsertExample.py
Output:
7- Ví dụ UpdateupdateExample.py
Output:
8- Ví dụ DeletedeleteExample.py
Output:
9- Gọi Thủ tụcCó một vài vấn đề khi bạn gọi một hàm (function) hoặc một thủ tục (procedure) trong Python. Tôi đặt ra môt tình huống như sau: Bạn có một thủ tục:
get_Employee_Info
Thủ tục trên có 1 tham số đầu 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 đáng tiếc 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ỉ có thể lấy ra các giá trị từ một mệnh đề SELECT.
Tuy vậy bạn vẫn có thể giải quyết được vấn đề ở trên, bạn cầ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ề các giá tri thông qua mệnh đề SELECT (Select clause). get_Employee_Info_Wrap
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
Chạy ví dụ:
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ố đầu vào là p_Emp_Id và trả về Emp_No (Mã nhân viên). Get_Emp_No
callFunctionExample.py
Chạy ví dụ:
Có thể bạn quan tâm Đây là các khóa học trực tuyến bên ngoài website o7planning mà chúng tôi giới thiệu, nó có thể bao gồm các khóa học miễn phí hoặc giảm giá. |