第五章 Flask中操作数据库(一)

一. Python数据库框架

        大多数数据库引擎都有对应的Python包,如:MySQL、SQLite、Redis、MongoDB等。此外还有一些数据库抽象层代码包供选择,如:SQLAlchemy和MongoEngine。选择数据库框架式,要考虑很多因素:

  • 易用性

       抽象层也成为对象关系映射(ORM)或对象文档映射(ODM),可以把高层的面向对象操作转换为底层的数据库指令。因此,相比数据库引擎,更具易用性。

  • 性能

       ORM和ODM把对象转换为数据库业务时会有一定损耗,但它们对生产效率的提升远远超过了这一丁点儿性能的降低。

  • 可移植性

       选择数据库时必须考虑其是否能在你的开发平台和生产平台中使用。可移植性还针对ORM和ODM,有些框架只为一种数据库引擎提供抽象层。但其它框架可能做了更高层的抽象,支持不同的数据库引擎,并使用相同的现象对象接口。如SQLAlchemy ORM支持MySQL/Postgres/SQLite数据库引擎。

  • Flask集成度

       使用集成了Flask的数据库框架可以简化配置和操作,《Flask Web开发》一书选择的数据库框架是Flask-SQLAlchemy,这个Flask扩展包装了SQLAlchemy框架。

二. 使用Flask-SQLAlchemy框架管理数据库

       SQLAlchemy提供了高层ORM,也提供了使用数据库原生SQL的底层功能,Flask-SQLAlchemy的安装:

pip install flask-sqlalchemy

Flask-SQLAlchemy数据库URL

数据库引擎 URL
MySQL mysql://username:password@hostname/database
Postgres postgresql://username:password@hostname/database
SQLite(Linux/macOS) sqlite:absolute/path/to/database
SQLite(Wondows) sqlite:///c:/absolute/path/to/database

       SQLite数据库没有服务器,因此不用指定hostname/passwordd/username&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值