sqlalchemy从入门到熟悉(一)

本文是关于SQLAlchemy的入门指南,涵盖了如何建立数据库连接、处理事务、使用数据库元数据、插入行以及选择行的核心操作。SQLAlchemy提供了SQL表达式语言和ORM,前者是面向命令的,后者是面向状态的,两者都提供了灵活的方式来处理数据库操作。
摘要由CSDN通过智能技术生成

sqlalchemy从入门到熟悉(一)

简介

SQLAlchemy SQL工具包和对象关系映射器是一套用于处理数据库和Python的综合工具。它有几个不同的功能领域,可以单独使用或组合使用。SQLAlchemy的两个最重要的面向前端的部分是对象关系映射器(ORM)以及Core。核心包含SQLAlchemy 的SQL以及数据库集成和描述服务的广度,其中最突出的部分是SQL表达式语言。

  1. SQL表达式语言是一个完全独立于ORM包的工具包,它提供了一个构造由可组合对象表示的SQL表达式的系统,然后可以针对特定事务范围内的目标数据库“执行”这些SQL表达式,并返回结果集。插入、更新和删除是通过传递表示这些语句的SQL表达式对象以及表示要与每个语句一起使用的参数的字典来实现的。

  2. ORM构建在Core之上,以提供使用映射到数据库模式的域对象模型的方法。在使用ORM时,SQL语句的构造方式与使用Core时基本相同,但是DML的任务是使用工作单元,它将针对可变对象的状态更改转换为INSERT、UPDATE和DELETE构造,然后根据这些对象调用这些构造。特定于ORM的自动化和以对象为中心的查询功能也增强了SELECT语句。

  3. 使用Core和SQL表达式语言提供了一个以模式为中心的数据库视图,以及一个面向不变性的编程范例,而ORM则在此基础上构建了一个以域为中心的数据库视图,具有更明显的面向对象和依赖于可变性的编程范例。由于关系数据库本身是可变服务,不同之处在于Core/SQL表达式语言是面向命令的,而ORM是面向状态的。

  4. 支持的安装方法

(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'

建立连接

  1. 任何SQLAlchemy应用程序的开始都是一个名为Engine。此对象充当连接到特定数据库的中心源,提供工厂和连接池。引擎通常是一个职位特定数据库服务器创建一次的全局对象,并使用一个URL字符串进行配置。
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:root@localhost:3306/test')

处理事务和DBAPI

  1. 获取连接
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’,)]

  1. 提交更改
#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()
  1. 获取返回结果
with engine.connect() as conn:
    # REsul有很多用于获取和转换行的方法,类似于python的命名元组
    result = conn.execute(text
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐江小鱼

知识创造财富,余额还是小数

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值