Hướng dẫn cách kết nối Python với MySql dành cho người mới học

Đã kiểm duyệt nội dung

4.8 trên 5
Dựa trên 189 đánh giá
Hướng dẫn cách kết nối Python với MySql dành cho người mới học

Chuẩn bị: Hosting Cpanel có hỗ trợ Python

1. Có bao nhiêu cách kết nối MySql trong Python?

Có nhiều cách để kết nối Python với MySQL, nhưng vì bạn đang dùng Hosting cPanelFlask, nên tôi sẽ gợi ý cách phù hợp nhất với môi trường này.

Cách phổ biến để kết nối Python với MySQL:

  • Sử dụng mysql-connector-python (chính thức từ MySQL)
  • Sử dụng PyMySQL (thuần Python, dễ cài đặt)
  • Sử dụng MySQLdb (C-based, nhưng không hỗ trợ Windows)
  • Sử dụng SQLAlchemy (ORM, mạnh mẽ hơn, nhưng có chút overhead)

Cách tốt nhất cho bạn:

👉 Dùng PyMySQL kết hợp với Flask-SQLAlchemy

Vì bạn đang chạy Flask trên cPanel hosting, việc dùng PyMySQL là tiện nhất vì:

  • Không cần cài đặt thêm module hệ thống (do PyMySQL thuần Python).
  • Tích hợp dễ với Flask-SQLAlchemy (ORM giúp truy vấn dễ hơn).
  • Không cần quyền root để cài đặt như MySQLdb.

2. Cách cài đặt thư viện SQLAlchemy cho Python

Cách cài thư viện hỗ trợ code ngôn ngữ Python trên Hosting Cpanel cho người mới

Nếu bạn đang học lập trình web với Flask và muốn sử dụng MySQL làm cơ sở dữ liệu, thì SQLAlchemy là một công cụ mạnh mẽ giúp bạn kết nối và thao tác dữ liệu một cách dễ dàng. Bài viết này sẽ hướng dẫn bạn từng bước để kết nối Python với MySQL bằng SQLAlchemy trong Flask.

2.1. Cài Đặt Môi Trường

Trước khi bắt đầu, bạn cần cài đặt các thư viện cần thiết:

pip install Flask flask-sqlalchemy pymysql
  • Flask: Framework web nhẹ, linh hoạt.
  • Flask-SQLAlchemy: Hỗ trợ kết nối Flask với cơ sở dữ liệu.
  • PyMySQL: Driver giúp Python làm việc với MySQL.

2.2. Cấu Hình SQLAlchemy Trong Flask

Trước tiên, bạn cần tạo một file Python, ví dụ app.py, và thiết lập cấu hình kết nối cơ sở dữ liệu MySQL:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

# Cấu hình kết nối MySQL
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost/database_name'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

# Khởi tạo SQLAlchemy
db = SQLAlchemy(app)

Thay username, passworddatabase_name bằng thông tin thực tế của bạn.

2.3. Tạo Mô Hình (Model) Cho Database

Sau khi thiết lập kết nối, bạn có thể định nghĩa các bảng trong MySQL bằng cách sử dụng ORM của SQLAlchemy

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    email = db.Column(db.String(100), unique=True, nullable=False)

    def __repr__(self):
        return f'<User {self.name}>'

Mỗi class đại diện cho một bảng trong MySQL, với các cột được khai báo như một thuộc tính của class.

2.4. Tạo Database Và Bảng

Để tạo database và bảng từ mô hình đã định nghĩa, bạn chỉ cần chạy lệnh sau trong Python:

with app.app_context():
    db.create_all()

Lệnh này sẽ tạo các bảng tương ứng trong MySQL nếu chưa tồn tại.

2.5. Thêm Dữ Liệu Vào Database

Bạn có thể thêm dữ liệu bằng cách sử dụng SQLAlchemy như sau:

new_user = User(name='Nguyen Van A', email='nguyenvana@example.com')
db.session.add(new_user)
db.session.commit()

Sau khi chạy, dữ liệu sẽ được lưu vào bảng User trong MySQL.

2.6. Lấy Dữ Liệu Từ Database

Để truy vấn dữ liệu, bạn có thể sử dụng:

users = User.query.all()
for user in users:
    print(user.name, user.email)

Điều này giúp bạn lấy toàn bộ dữ liệu từ bảng User.

2.7. Chỉnh Sửa & Xóa Dữ Liệu

  • Chỉnh sửa dữ liệu:
user = User.query.get(1)
user.name = 'Nguyen Van B'
db.session.commit()
  • Xóa dữ liệu:
user = User.query.get(1)
db.session.delete(user)
db.session.commit()

Video Học Python Web: Cài Đặt Flask, MySQL, SQLAlchemy Trên Hosting CPanel – Chi Tiết Cho Người Mới

Kết Luận

Vậy là bạn đã biết cách kết nối Python với MySQL bằng SQLAlchemy và Flask. Hy vọng bài viết này giúp bạn hiểu rõ hơn về cách sử dụng ORM để thao tác với MySQL dễ dàng hơn. Nếu có câu hỏi, hãy để lại bình luận bên dưới!

Quay lạiChatGPT ChatGPT

❓ Hỏi AI về nội dung bài viết

Tóm tắt nội dung chính Gợi ý mục quan trọng Giải thích mục 1 rõ hơn Viết lại đoạn văn cho dễ hiểu Rút gọn văn bản mà vẫn đủ ý Thêm ví dụ minh hoạ cho đoạn 1 Lọc keyword từ khóa bài viết Lọc thuật ngữ Dịch bài viết sang: Tiếng Anh
Nếu bài viết chưa giải đáp hết thắc mắc của bạn, hãy hỏi WEB366 AI – trợ lý thông minh sẵn sàng hỗ trợ ngay trong nội dung bài viết.

Bạn muốn tích hợp chức năng Hỏi AI trực tiếp dưới mỗi bài viết trên website? Hãy liên hệ dịch vụ thiết kế web tại Website366.com để được hỗ trợ triển khai nhanh chóng và chuyên nghiệp.

Đã kiểm duyệt nội dung

Tôi là Lễ Âu – Chuyên gia xử lý Web WordPress với niềm đam mê đặc biệt dành cho công nghệ mới, đặc biệt là trí tuệ nhân tạo (AI). Với nhiều năm kinh nghiệm trong lĩnh vực thiết kế và tối ưu website, tôi luôn không ngừng học hỏi và chia sẻ các giải pháp công nghệ hiệu quả, giúp doanh nghiệp và cá nhân khai thác tối đa tiềm năng từ nền tảng WordPress và các ứng dụng AI tiên tiến.