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:[email protected]: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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章