Flask-SQLAlchemy拓展的使用

Flask-SQLAlchemy拓展

使用Flask-SQLAichemy可以处理Python对象,而不是数据实体

安装方法:
  • 通过PyCharm的project interpret 继续安装
  • 通过命令行进行安装
 pip install flask-sqlalchemy

在Flask-SQLAlchemy中,数据库使用URL进行指定,MySQL的URL格式为:

mysql://username:password@hostname/datebase

例如 mysql://root:password@127.0.0.1:3306/demoDatabse

安装pymysql
pip install pymysql

配置数据库:
from flask_sqlalchemy import SQLAlchemy
app.config['SQLALCHEMY_DATABASE_URI']= 'mysql+pymysql://root:password@127.0.0.1:3306/Demo'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
创建数据库类,映射数据库表
class ClassInfo(db.Model):
    __tablename__ = 'classinfo'
    id = db.Column(db.Integer(), primary_key=True)
    className = db.Column(db.String(20))
    classSize = db.Column(db.Integer())

注意,其中的类型的第一个字母要大写

在视图中操作数据库查询

通过数据库类的query对象中的方法进行查询

mylist = ClassInfo.query.all()
    print(mylist)
    for it in mylist:
        print(it)
    test = mylist[0].className
    return render_template('demo3.html', html_form=login_form, test=test)
常用的SQLAlchemy查询过滤器
过滤器说明
filter()把过滤器添加到原查询上,返回一个新查询
filter_by()把等值过滤器添加到原查询上,返回一个新查询
limit()使用指定的值限制原查询返回的结果数量,返回一个新查询
offset()偏移原查询返回的结果,返回一个新查询
order_by()根据指定条件对原查询进行排序,返回一个新查询
group_by()根据指定调教对原查询结果进行分组,返回一个新查询
常用SQLAlchemy查询执行方法
方法说明
all()以列表形式返回查询的所有结果
first()返回查询的第一个结果,如果没有结果,则返回None
first_or_404()返回查询的第一个结果,如果没有结果,则终止请求,返回4040错误响应
get()返回指定主键对应的行,如果没有对应的行,则返回NOne
get_or_404返回指定主键对应的行,如果没找到指定的主键,则终止请求,返回404错误响应
count()返回查询结果的数量
paginate()返回一个Paginate对象,包含指定范围内的结果
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亓官劼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值