ORM介绍
ORM
:Object Relationship Mapping
对象关系映射对象模型
与数据库表
的映射
- 通过
ORM
可以通过类的方式去操作数据库而不用再写原生的SQL
语句,通过把表映射成类,把行作为实例,把字段作为属性. ORM
在执行对象操作的时候最终还是会把对象的操作转换为数据库的原生语句。
python代码 和SQL代码角度理解
class Person(object):
name = 'xx'
age = 18
country ='xx'
ORM优点
易用性
:使用ORM
做数据库开发可以有效减少重复SQL
语句的概率,写出来的模型也更加直观、清晰性能损耗小
:ORM
转换成底层数据库操作指令确实会有一些开销。但是从实际情况来看,这种性能损耗很少(不足5%),只要不是针对性能有严苛的要求,综合考虑开发效率、代码阅读性,带来的好处远大于性能损耗,而且项目越大作用越明显。设计灵活
:可以轻松的写出复杂的查询。可移植性
:SQLAlchemy
封装了底层的数据库实现,支持多个关系数据库引擎,包括流行的Mysql
、PostgreSQL
和SQLite
,可以非常轻松的切换数据库。安全
:由于实现了封装底层,有效的避免了web
安全问题。