Flask 组件 SQLAlchemy

SQLAlchemy 简介:

SQLAlchemy 相当于 Django 框架中 ORM,ORM 主要实现模型对象到关系数据库数据的映射

优点
  • 只需要面向对象编程,不需要使用sql语言

  • 实现数据模型和数据库的解藕,及不用关心是什么数据库,更改简单配置即可更换数据库

缺点
  • 有部分性能损耗

SQLAlchemy 使用

SQLAlchemy 的使用和 Django 中的类似,首先要进行配置数据库参数
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

from flask import Flask
from flask_sqlalchemy import SQLAlchemy


# 创建 app
app = Flask(__name__)

# 添加配置
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqldb://root:root@127.0.0.1:3306/flask_demo'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True

# 创建 app
db = SQLAlchemy(app)
然后通过 ORM 进行建表
# ORM 建表类
class Article(db.Model):
    __tablename__ = 'article'
    id = db.Column(db.Integer,primary_key=True,autoincrement=True,)
    title = db.Column(db.String(100),nullable=False)
    content = db.Column(db.Text,nullable=False)


# 执行
db.create_all()
最后就是对 ORM 进行操作
# 增:
# 给字段赋值
article1 = Article(title='2',content='222')
# 添加
db.session.add(article1)
# 提交
db.session.commit()

# 删:
# 把要删除的数据查找出来
article1 = Article.query.filter(Article.title == '2').first()
# 删除
db.session.delete(article1)
# 提交
db.session.commit()

# 改:
# 把你要更改的数据查找出来
article1 = Article.query.filter(Article.title == '2').first()
# 修改
article1.title = 'New title'
# 提交
db.session.commit()

# 查:
# select * from article where article.title = '第一';
article1 = Article.query.filter(Article.title == '第一').first()
print('title:%s' % article1.title)
print('content:%s' % article1.content)

参考文章:

https://www.jianshu.com/p/b729e84fae4f
https://www.cnblogs.com/liangxiyang/p/11249946.html
https://blog.csdn.net/jlb1024/article/details/81515155

相关文章

Jinja2:是Python的Web项目中被广泛应用的模板引擎,是由Pyt...
监听QQ消息并不需要我们写代码,因为市面上已经有很多开源QQ...
【Flask框架】—— 视图和URL总结
python+web+flask轻量级框架的实战小项目。登录功能,后续功...
有了这个就可以配置可信IP,关键是不需要企业认证,个人信息...