Python 中 flask 框架连接 Mysql 数据库 教程

Flask连接Mysql数据库

第一步:我们需要让Flask和Mysql建立连接。
这个过程需要两步
第一步:连接到Mysql数据库
第二部:使用配置生效,Sqlalchemy实例化数据库

SQLALCHEMY_DATABASE_URL = 'mysql + pymysql://用户名:密码@数据链接名:3306/数据库名'
SQLALCHEMY_TRACK_MODIFICATIONS = True

导入相应的包和设置

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config["SECRET_KEY"] = "fjkdjfkdfjdk"
db=SQLAlchemy(app)

接下来就可以创建模型了

 # 创建模型
class Member(db.Model):
    #设置表名
    __tablename__ = 'Member'
    #设置字段
    id = db.Column(db.Integer,primary_key=True)
    email = db.Column(db.String(20),unique=True)
    phone = db.Column(db.Integer,default=True)
    login_name = db.Column(db.String(64),unique=True)
    like_name = db.Column(db.String(64),unique=True)
    pwd = db.Column(db.String(64),unique=True)
    article = db.relationship('Article',backref='aus')
    def __str__(self):
        return "Member:{}".format(self.login_name)

class Article(db.Model):
    #设置表名
    __tablename__ = 'Article'
    #设置字段
    id = db.Column(db.Integer,primary_key=True)
    title = db.Column(db.Text)
    description = db.Column(db.Text)
    addtime = db.Column(db.String(20),default=True)
    clicknum = db.Column(db.SmallInteger,default=True)
    content = db.Column(db.Text)
    praise_num = db.Column(db.SmallInteger,default=True)
    recommend = db.Column(db.SmallInteger,default=True)
    img = db.Column(db.Text)
    member_id = db.Column(db.Integer,db.ForeignKey('Member.id'))
    def __str__(self):
        return "Article:{}".format(self.member_id)

接下来是存数据,这里以注册为例子

    if request.method == "POST":
        email = request.form.get("Email")
        phone = request.form.get("PhoneNum")
        login_name = request.form.get("LoginName")
        like_name = request.form.get("DisplayName")
        pwd = request.form.get("Password")
        password = request.form.get("ConfirmPassword")
        us = Member(email=email,phone=phone,login_name=login_name,like_name=like_name,pwd=pwd)
        db.session.add_all([us])
        db.session.commit()

查数据

#查找Member表中的所有数据
infos = Member.query.all()
#获取article id,获取id相同的一条数据
    id = request.args.get('id')
    user_obj = Article.query.filter_by(id=id).first()
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值