python数据库框架_Python数据库及ORM框架对比选择
使用Python进行MySQL的库主要有三个:
Python-MySQL(更熟悉的名字可能是MySQLdb),
PyMySQL
SQLAlchemy。
Python-MySQL:
资格最老,核心由C语言打造,接口精炼,性能最棒,缺点是环境依赖较多,安装复杂,近两年已停止更新,
只支持Python2,不支持Python3
PyMySQL:
为替代Python-MySQL而生,纯python打造,
接口与Python-MySQL兼容,安装方便,支持Python3。
SQLAlchemy:
是一个ORM框架,它并不提供底层的数据库操作,
而是要借助于MySQLdb、PyMySQL等第三方库来完成,目前SQLAlchemy在Web编程领域应用广泛。
ORM种类:
Django’s ORM、peewee、SQLAlchemy
Django’s ORM
优点:
易用,学习曲线短
和Django紧密集合,用Django时使用约定俗成的方法去操作数据库
缺点:
QuerySet速度不给力,会逼我用Mysqldb来操作原生sql语句。
以前写过一篇关于django orm 跟mysqldb性能的对比
Peewee
优点:
Django式的API,使其易用
轻量实现,很容易和任意web框架集成
缺点:
不支持自动化 schema 迁移
不能像Django那样,使线上的mysql表结构生成结构化的模型。
SQLAlchemy
优点:
巨牛逼的API,使得代码有健壮性和适应性
灵活的设计,使得能轻松写复杂查询
缺点:
工作单元概念不常见
重量级 API,导致长学习曲线
python数据库框架_Python数据库及ORM框架对比选择相关推荐
- python的orm框架_Python 常用的ORM框架简介
ORM概念 ORM(Object Ralational Mapping,对象关系映射)用来把对象模型表示的对象映射到基于S Q L 的关系模型数据库结构中去.这样,我们在具体的操作实体对象的时候,就不 ...
- ORM框架简介和常用ORM框架
目录 1.ORM简介 1.1什么是ORM 1.2.ORM技术的特点 3. 常用ORM框架 3.1.Hibernate 简介 优点 3.2.Mybatis 简介 功能结构 优点 1.ORM简介 1.1什 ...
- java mysql orm框架_主流 Java ORM 框架有哪些?
主流 Java ORM 框架有哪些? ORM 是 Object Relational Mapping 的缩写,译为 "对象关系映射" 框架. 所谓的 ORM 框架就是一种为了解决面 ...
- python twisted教程_Python下的twisted框架入门指引
什么是twisted? twisted是一个用python语言写的事件驱动的网络框架,他支持很多种协议,包括UDP,TCP,TLS和其他应用层协议,比如HTTP,SMTP,NNTM,IRC,XMPP/ ...
- python 爬虫框架_Python实战:爬虫框架(6)
数据挖掘 用于通过互联网到各个服务器获取数据 数据 公开数据:客户端浏览器访问网页所看到的数据 隐私数据:服务器内部没有暴露,具有隐私权限的数据 爬虫 网络爬虫:公开数据 蠕虫爬虫:携带具有攻击性病毒 ...
- python标准数据库接口是_Python 数据库接口模块_python 数据库模块_python 数据库接口...
本条目收集了 Python 中的常用数据库接口模块,包括各种主流关系数据库和一些通用接口 如无特别注明,均实现(或部分实现)了 DB-API 标准. 更广泛的 Python 数据库技术参见 Pytho ...
- python数据库介绍_python***数据库的介绍
一 * 数据库的作用 Ⅰ数据库的作用: 1.存储大量数据方便检索和访问 2.保持数据信息的一致 3.共享和安全 4.通过组合分析,产生新的有用的信息 5. 数据库的作用 · 作用:存储数据 检索数据 ...
- 【ORM框架】go语言ORM框架 - gorm快速入门
文章目录 前言 一.正确看待orm 1.什么是orm 2.常用的orm 3.orm的优缺点 4.如何正确看待orm和sql之间的关系 二.gorm入门 前言 Gorm 是 Golang 的一个 orm ...
- ORM框架介绍——什么是ORM框架?
1.什么是ORM? 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.ORM框架是连接数据库的桥梁,只要提 ...
最新文章
- 最后一片蓝海的终极狂欢-写在Win10发布前夕
- Delphi访问网页中的下拉菜单
- Memory Information on Windows Mobile
- java httpclient 获取cookie_java – 从httpclient 3转换为httpclient 4(Cookie策略)
- We Are Cisco|25年后,为什么我仍是思科认证互联网专家
- 开源 java CMS - FreeCMS2.4 菜单管理
- mysql分组查询和子查询语句_6.MySQL分组聚合查询,子查询
- html文件怎么导出stl文件,3D建模软件导出STL文件的小技巧(一)
- C++笔记-设置cout输出数据的宽度和填充
- zabbix利用mutt和msmtp配置邮件报警
- Do you know? -- season 1
- logstash 吞吐量优化_logstash吞吐率优化
- CAJViewer 无法获取document路径问题--360卫士C盘搬家
- 【OpenCV4】计算对称矩阵特征值和特征向量 cv::eigen() 用法详解和代码示例(c++)
- Python心法:numpy命令关于axis=0,axis=1,axis=2
- Twilio Inc.(TWLO)2020年第三季度收益电话会议记录
- JS实现RGB,HSL,HSB相互转换
- app打包上传遇到的问题
- 根据离散点画直线_excel表格怎么画散点图画直线
- 为什么mysql打开闪屏_MAC下的一些快捷键和实用软件
热门文章
- 硬核科普:到底啥是云原生?
- 将编译器pass添加到Relay
- 自监督学习(Self-Supervised Learning)多篇论文解读(下)
- idea中设置指向源代码Scala
- CentOS7 service network start命令启动时报错解决方法
- Java 打印数组的方法
- java.lang.IllegalStateException: Cannot modify managed objects outside of a write transaction. in /U
- 微信小程序一键创建js,json,wxml,wxss
- ClassCastException
- HiveServer2