Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

To use Flask and SQLAlchemy to connect to a MySQL database:

  1. Install Flask and SQLAlchemy libraries.

  2. Import Flask and SQLAlchemy libraries in the Python code.

  3. Define the Flask app object.

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
  1. Configure the MySQL database connection in the Flask app object by setting the database URI in app.config. For example:
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://<username>:<password>@<host>/<database>'
  1. Create a SQLAlchemy object and bind it to the Flask app object.
db = SQLAlchemy(app)
  1. Define a model class for each database table. For example:
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(120), unique=True)

    def __init__(self, username, email):
        self.username = username
        self.email = email

    def __repr__(self):
        return '<User %r>' % self.username
  1. Create the database tables by running db.create_all() method.
db.create_all()
  1. Use SQLAlchemy query methods to retrieve, create, update, and delete data from the MySQL database. For example:
user = User(username='john', email='john@example.com')
db.session.add(user)
db.session.commit()

users = User.query.all()

user = User.query.filter_by(username='john').first()
user.email = 'newemail@example.com'
db.session.commit()

user = User.query.filter_by(username='john').first()
db.session.delete(user)
db.session.commit()