python 数据库编程进阶—ORM

本文介绍了ORM的概念,即对象关系映射,它允许开发者通过操作Python对象来操作数据库,简化了数据库编程。文章提到了ORM的缺点,如无法创建和删除数据库,以及复杂的数据库操作的局限性。重点讨论了Python中最知名的ORM框架SQLAlchemy,概述了其工作流程,包括连接数据库、声明映射基类、创建表结构类、生成表、创建会话以及实例化和操作数据。最后,给出了简单的ORM增删改查示例代码,并推荐了廖雪峰的教程作为进一步学习的资源。
摘要由CSDN通过智能技术生成

背景:上一篇文章可以看到,Python有了DB-API,编程贼方便,唯一的缺点就是需要程序员了解SQL(虽然在我看来这是必须的),但是就有的同学不愿意了解sql,而是更愿意操作Python对象,那怎么办?使用ORM呀~

一、什么是ORM?

ORM(Object relational mapper)指对象关系映射模型,展现了一种将用户定义的类映射到数据库中表的方法,将数据库的行映射为类的实例,将数据库字段映射为属性,开发同学只需要操作Python对象就能操作数据库,可以更加专注于业务逻辑的处理,提高开发效率。

但是ORM也有一定的缺点,它无法创建和删除数据库,一些复杂的数据库操作无法完成。

二、常见ORM框架

目前最知名的Python ORM是SQLAlchemy和SQLObject,两者均需要下载及安装 PyPI · The Python Package Index。SQLObject更简单,而SQLAlchemy中对象的抽象化十分完美,但是学习曲线较长,这里简单介绍下SQLAlchemy。

SQLAlchemy框架建立在数据库API之上,使用关系对象映射进行数据库操作,将对象转换成SQL,操作数据库API执行SQL并获取执行结果。大体流程分6步,如下:

1、连接数据库,不同数据库配置不同,调用的数据库API不同,格式为'数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名'。

MySQL-Python
    mysql+mysqldb://<user>:<password>@<host>[:<port>]/<dbname>
 
pymysql
    mysql+pymysql://<username>:<password>@<host>[:<port>]/<dbna
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值