
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 cPanel và Flask, 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
, password
và database_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!

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 cPanel và Flask, 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 […]