1.基础知识介绍
1.1 ORM框架介绍
ORM(Object Ralational Mapping,对象关系映射),用来把对象模型表示的对象映射到基于S Q L 的关系模型数据库结构中去。我们在具体的操作实体对象的时候,就不需要再去和复杂的 SQ L 语句打交道,只需简单的操作实体对象的属性和方法。
常见的ORM框架
SQLAlchemy:SQLAlchemy 采用了数据映射模式,其工作单元主要使得有必要限制所有的数据库操作代码到一个特定的数据库session,在该session中控制每个对象的生命周期 。
SQLObject:是一种流行的对象关系管理器,用于为数据库提供对象接口,其中表为类,行为实例,列为属性。SQLObject包含一个基于Python对象的查询语言,使SQL更抽象,并为应用程序提供了大量的数据库独立性。
Storm :是一个介于 单个或多个数据库与Python之间 映射对象的 Python ORM 。为了支持动态存储和取回对象信息,它允许开发者构建跨数据表的复杂查询。Stom中 table class 不需要是框架特定基类 的子类 。每个table class是 的sqlobject.SQLObject 的子类。
Django's ORM : 因为Django的ORM 是紧嵌到web框架的,所以就算可以也不推荐,在一个独立的非Django的Python项目中使用它的ORM。Django,一个最流行的Python web框架, 有它独有的 ORM。 相比 SQLAlchemy, Django 的 ORM 更吻合于直接操作SQL对象,操作暴露了简单直接映射数据表和Python类的SQL对象 。
1.2 SQLAlchemy介绍
sqlalchemy是Python ORM的开源框架,使用它可以快速方便的构建数据库模型
SQLAlchemy框架
- Engine: 框架的引擎
- Connection Pooling : 数据库连接池
- Dialect : 选择连接数据库的DB API类型
- Schema / Type : 架构和类型
- SQL Expression Language: SQL表达式语言
SQLALchemy本身无法操作数据库,需要依赖pymysql第三方模块,Dialect用于和数据API进行交流,根据配置文件的不同调用不同的数据库API,从而实现对数据库的操作
使用pymysql连接数据库格式:
mysql + pymysql: / / <username>:<password>@<host> / <dbname>[?<options>]
2 使用SQLAlchemy
2.1安装SQLAlchemy与检查是否安装成功
#安装 pip install SQLAlchemy #检查是否安装成功 C:\Users\lsl\Desktop>python Python 3.7.0rc1 (v3.7.0rc1:dfad352267, Jun 12 2018, 07:05:25) [MSC v.1914 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import sqlalchemy >>> sqlalchemy.__version__ '1.3.18'复制代码
2.2使用SQLAlchemy对数据库的表进行操作
2.2.1创建连接对象也就是为了连接到本地的数据库</