1. Hệ quản trị cơ sở dữ liệu MySQL
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở (open-source relational database management system). MySQL được phát triển bởi tập đoàn Oracle và được viết bằng ngôn ngữ C và C++. Chúng ta có thể download và sử dụng MySQL một cách miễn phí tại website https://www.mysql.com/.
Chúng ta có thể sử dụng MySQL được tích hợp trong XAMPP. Các bạn có thể đọc bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách cài đặt XAMPP và khởi chạy MySQL. Trong bài này, chúng ta sẽ sử dụng Python để tạo kết nối với MySQL được tích hợp trong XAMPP.
2. Cài đặt module MySQL Connector trong Python
Để tạo kết nối với MySQL, chúng ta có thể sử dụng module MySQL Connector trong Python. Để sử dụng được module này, chúng ta cần cài đặt module này trong Python với lệnh sau:
pip install mysql-connector-python
Các bạn có thể đọc lại bài Cài đặt Python và môi trường lập trình với Visual Studio Code để biết cách cài đặt các thư viện Python trong Visual Studio Code.
Sau khi đã cài đặt module MySQL Connector, chúng ta cần import module này với câu lệnh sau:
import mysql.connector
3. Tạo kết nối với MySQL trong Python
3.1. Tạo kết nối với MySQL đã khởi chạy
Module MySQL Connector hỗ trợ hàm connect()
để tạo kết nối với MySQL. Lưu ý: Chúng ta cần start MySQL trong XAMPP trước khi tạo một kết nối đến MySQL.
import mysql.connector
# create connection to MySQL
mydb = mysql.connector.connect(
host="localhost",
user="root",
password=""
)
print(mydb)
# disconnect from MySQL
mydb.close()
Kết quả kết nối thành công
<mysql.connector.connection_cext.CMySQLConnection object at 0x000001A01C79C4C0>
Kết quả kết nối thất bại
File "C:\Python\Python310\lib\site-packages\mysql\connector\connection_cext.py", line 241, in _open_connection
raise errors.get_mysql_exception(msg=exc.msg, errno=exc.errno,
mysql.connector.errors.DatabaseError: 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061)
Lưu ý: Kết nối đến MySQL thất bại có thể do MySQL chưa được khởi chạy hoặc truyền sai host, user, password, database.
Ý nghĩa các tham số của hàm connect()
là:
– Giá trị truyền vào tham số host là tên hoặc địa chỉ IP của máy tính chứa MySQL đang được khởi chạy và cần kết nối đến.
– Tham số user là username để đăng nhập vào MySQL. Username mặc định của MySQL trong XAMPP là root.
– Tham số password là password để đăng nhập vào MySQL. Password mặc định của MySQL trong XAMPP là rỗng.
Khi không cần kết nối đến MySQL nữa thì đóng kết nối với MySQL bằng hàm close()
.
3.2. Kết nối đến một database cụ thể trong MySQL
Khi đã start được MySQL trong XAMPP, các bạn sử dụng trình duyệt web và truy cập vào địa chỉ http://localhost/phpmyadmin/ để tạo một database trong MySQL.
Bên dưới là database gochocit vừa được tạo.
Bây giờ, chúng ta cần kết nối đến database gochocit trong MySQL thì truyền thêm tham số database cho hàm connect()
của module MySQL Connector.
import mysql.connector
# create connection to MySQL
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="",
database = "gochocit"
)
print(mydb)
# disconnect from MySQL
mydb.close()
Những bài sau, chúng ta sẽ sử dụng Python để thực hiện các thao tác trên database gochocit
đã được kết nối.