Kết nối hệ quản trị cơ sở dữ liệu MySQL trong Python

Đây là bài 48/54 bài của series môn học Ngôn ngữ lập trình Python

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/.

MySQL logo

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ố hosttê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.

Tạo một database trong MySQL trong XAMPP

 Bên dưới là database gochocit vừa được tạo.

Ví dụ database gochocit được tạo trong MySQL trong XAMPP

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.

5/5 - (2 bình chọn)
Bài trước và bài sau trong môn học<< Chuyển đổi (convert) dữ liệu JSON sang dữ liệu XML trong PythonTạo database và tạo table trong MySQL với Python >>
Chia sẻ trên mạng xã hội:

Trả lời

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.