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()