赞
踩
SQLAlchemy SQL工具包和对象关系映射器是一套用于处理数据库和Python的综合工具。它有几个不同的功能领域,可以单独使用或组合使用。SQLAlchemy的两个最重要的面向前端的部分是对象关系映射器(ORM)以及Core。核心包含SQLAlchemy 的SQL以及数据库集成和描述服务的广度,其中最突出的部分是SQL表达式语言。
SQL表达式语言是一个完全独立于ORM包的工具包,它提供了一个构造由可组合对象表示的SQL表达式的系统,然后可以针对特定事务范围内的目标数据库“执行”这些SQL表达式,并返回结果集。插入、更新和删除是通过传递表示这些语句的SQL表达式对象以及表示要与每个语句一起使用的参数的字典来实现的。
ORM构建在Core之上,以提供使用映射到数据库模式的域对象模型的方法。在使用ORM时,SQL语句的构造方式与使用Core时基本相同,但是DML的任务是使用工作单元,它将针对可变对象的状态更改转换为INSERT、UPDATE和DELETE构造,然后根据这些对象调用这些构造。特定于ORM的自动化和以对象为中心的查询功能也增强了SELECT语句。
使用Core和SQL表达式语言提供了一个以模式为中心的数据库视图,以及一个面向不变性的编程范例,而ORM则在此基础上构建了一个以域为中心的数据库视图,具有更明显的面向对象和依赖于可变性的编程范例。由于关系数据库本身是可变服务,不同之处在于Core/SQL表达式语言是面向命令的,而ORM是面向状态的。
支持的安装方法
(1)使用PIP安装
pip install SQLAlchemy
# 安装最新的预缓解版本,使用--pre
pip install --pre SQLAlchemy
(2)SQLAlchemy安装是通过标准Python方法进行的,这些方法基于setuptools,可以通过引用setup.py
直接使用。
python setup.py install
(3)检查已安装的SQLAlchemy版本
>>> import sqlalchemy
>>> sqlalchemy.__version__
'1.4.41'
Engine
。此对象充当连接到特定数据库的中心源,提供工厂和连接池。引擎通常是一个职位特定数据库服务器创建一次的全局对象,并使用一个URL字符串进行配置。from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:root@localhost:3306/test')
from sqlalchemy import create_engine, text
engine = create_engine('mysql+pymysql://root:root@localhost:3306/test')
# with语句是python的上下文管理器
with engine.connect() as conn:
result = conn.execute(text("select 'hello world'"))
print(result.all())
结果:
[(‘hello world’,)]
#DBAPI是非自动提交的,可以使用`commit()`方法提交
with engine.connect() as conn:
conn.execute(text("create table demo(x int, y int)"))
conn.execute(text("insert into demo(x, y) values(:x, :y)"),
[{
"x": 1, "y": 1}, {
"x": 2, "y": 4}])
conn.commit()
with engine.connect() as conn:
# REsul有很多用于获取和转换行的方法,类似于python的命名元组
result = conn.execute(text
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。