引言
Flask 是一个轻量级的 Web 框架,非常适合快速开发和部署 Web 应用程序。而 MySQL 作为一种流行的关系型数据库,常用于存储和管理数据。本文将介绍如何使用 Flask 和 Flask-SQLAlchemy 来高效连接 MySQL 数据库,并展示一些基本的数据库操作技巧。
环境搭建
首先,确保你的系统中已安装 Flask 和 Flask-SQLAlchemy。如果没有安装,可以通过以下命令进行安装:
pip install flask flask-sqlalchemy pymysql
数据库连接配置
在 Flask 应用中,首先需要配置数据库连接。这通常在 config.py
文件中完成。以下是一个简单的配置示例:
import os
basedir = os.path.abspath(os.path.dirname(__file__))
class Config(object):
SECRET_KEY = os.environ.get('SECRET_KEY') or 'you-will-never-guess'
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://用户名:密码@数据库地址/数据库名'
SQLALCHEMY_TRACK_MODIFICATIONS = False
确保替换 用户名
、密码
、数据库地址
和 数据库名
为你的 MySQL 数据库的实际信息。
定义数据库模型
在 models.py
文件中,定义你的数据库模型。以下是一个简单的用户模型示例:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class User(db.Model):
id = db.Column(db.BigInteger, primary_key=True, autoincrement=True)
username = db.Column(db.String(255), index=True, unique=True, nullable=False)
password = db.Column(db.String(255), nullable=False)
ip = db.Column(db.String(255), nullable=True, default=None)
ip_city = db.Column(db.String(255), nullable=True, default=None)
register_time = db.Column(db.String(255), nullable=True, default=None)
数据库操作
创建数据库和表
在应用启动时,可以使用以下代码创建数据库和表:
from yourapplication import db
db.create_all()
添加数据
以下是一个向用户表中添加新用户的示例:
from yourapplication import db
new_user = User(username='new_user', password='password', ip='192.168.1.1', ip_city='City', register_time='2023-04-01 12:00:00')
db.session.add(new_user)
db.session.commit()
查询数据
以下是一个查询用户列表的示例:
from yourapplication import db
users = User.query.all()
for user in users:
print(user.username, user.password)
更新数据
以下是一个更新用户密码的示例:
from yourapplication import db
user = User.query.filter_by(username='new_user').first()
if user:
user.password = 'new_password'
db.session.commit()
删除数据
以下是一个删除用户的示例:
from yourapplication import db
user = User.query.filter_by(username='new_user').first()
if user:
db.session.delete(user)
db.session.commit()
总结
通过以上步骤,你可以在 Flask 应用中高效地连接和操作 MySQL 数据库。掌握这些技能将有助于你开发出更强大、更可靠的 Web 应用程序。