SQLAlchemy文档翻译第1章

本文介绍SQLAlchemy这一Python SQL工具包及其对象关系映射模型(ORM)的基本概念,涵盖其安装方法、支持平台及核心组件等内容,适合初学者快速了解并使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一章 概述

SQLAlchemy SQL工具包和对象关系模型,是一个调谐数据库和python工作的完整工具集合。它有几个清晰的可以单独或组合在一起使用的模块。它的主要的组件以及组件间的依赖关系分层在下面被插图说明:

这里写图片描述

尤其,放在面前的两个最有意义的部分是ORM(Object Relational Mapper,对象关系映射模型)和SQL表达式语言。SQL的表达可以独立于ORM。当用ORM的时候,部分SQL表达式语言被用关系数据结构和多种query的形式被保留成面向公众的API(Application Program Interface,应用程序接口)。

1.1 文档概述

本文档分为三个部分:SQLAlchemy ORM,SQLAlchemy核心和方言(这里是把SQLAlchemy在具体数据库上的应用比喻为方言)。
在SQLAlchemy ORM部分,对象关系映射模型进行了说明和充足的描述。新的使用者应该从对象关系指南开始。如果你想用更高级的可以自动构建的SQL工作,并且管理python项目,请进入指南。

在SQLAlchemy核心部分,SQLAlchemy的SQL和数据库的融合和服务的描述被文档宽度的描述,核心是SQL表达式语言(我感觉这部分就是讲SQLAlchemy怎么执行SQL语句)。SQL表达式语言是一个完全属于自己且独立于ORM包的工具包,它可以被用来操纵SQL的表达,包括程序性的构建,改善,执行
,返回游标的结果集。对比ORM的以域为中心的处理方法,表达式语言提供了一个以模式为中心的处理范例。新的使用者应该从SQL表达式语言指南开始。SQLAlchemy的引擎,链接和服务池也在SQLAchemy的核心部分被说明。

在方言部分,所有涉及到被给予的数据库和数据库后台的接口的文档被提供。

1.2 代码实例

几乎全部涉及到ORM的可运行的代码实例,被包含在SQLAlchemy的分布中。所有包含例子的应用的描述在ORM实例中。

更多的关于SQLAlchemy核心和ORM的例子在wiki(维基百科)中。见Theatrum Chemicum

1.3 安装向导

1.3.1 支持的平台

SQLAlchemy已经对下面的平台进行了测试:
•cPython 版本2.6,包括2.xx
•cPython 版本3,包括3.xx
•Pypy2.1或者更时间久远的版本

在0.9版本以后,Python2.6是SQLAlchemy支持的最低python版本。

当前不能支持的平台包括Jython,IronPython。Jython在过去被支持,在将来也可能被支持,这取决于Jython环境本身。

1.3.2 支持的安装方法

SQLAlchemy 支持用python标准的“distitils”或“seruotools”方法安装。具体的安装概述如下:
•清晰的 Python Distutils - SQLAlchemy 可以用通过Python Distutils,用sety.py脚本进行一个干净的安装。C扩展和python3构建也被支持。
• Setuptools or Distribute - 用setuptools时,SQLAlchemy可以通过setup.py或者easy_install进行安装。并且C扩展被支持。
• pip - pip是一个基于setuptools 和 distribute,用来替代easy_install方法的安装方法。它因更简单的处理方法而更被人们喜欢。

1.3.3 通过pip安装

当pip可用时,distribution可以从Pypi下载,通过下面的步骤安装:

pip install SQLAlchemy

这个命令会从python奶酪商店下载SQLAlchemy的最新发布版本,并且安装它到你的系统上。
为了安装最近的早前版本,例如1.0.0b1,pip需要–pre选项:

pip install --pre SQLAlchemy

如果最近的版本是早先发布的,它将被安装而不是最新的版本。

1.3.4 用setup.py安装

另外你可以从distribution用setup.py脚本安装:

python serup.py install

1.3.5 安装C扩展

SQLAlchemy 包括提供了速度加强的处理结果集的C扩展。这些扩展支持cPython2.xx和cPython3.xx。

在0.9.0版本后,C扩展可以编写在python3和python2中。

如果合适的平台被选择,setup.py将自动地构建那些扩展。如果C扩展因为miss编译或者其他故障构建失败,这个构建过程将输出一条错误信息,并且返回没有C扩展构建的状态。

去运行build/install而不是去尝试编译C扩展,DISABLE_SQLALCHEMY_CEXT的环境压力可以被验证。下面是特殊的测试情况的用例(这里没翻译全先放这里,这里大概是说依赖不足时怎么办,有空回来补,安装遇到问题可以给我留言,还有这文档的英文大长从句真是让人难以适应,我小学没毕业,英语能力极其有限,希望多包涵。到这大家应该安装没有问题,所以直接1.3.8了,中间的等有空回来补):

*** only in SQLAlchemy 0.9.4 / 0.8.6 or greater ***
export DISABLE_SQLALCHEMY_CEXT=1; python setup.py install

1.3.8 核对以安装的SQLAlchemy版本

如果你正在在你的系统上运行已经安装的SQLAlchemy,请从python命令行核对它的版本,像下面这样:

>>> import sqlalchemy
>>> sqlalchemy.__version__
1.0.0
嗯,用户想要找从Python入门到全栈开发的免费学习网站。我先看看参考内容里的信息有没有合适的资源。 第一个参考内容提到腾讯课堂的星越教育课程,但看起来是付费的,可能不符合用户的免费需求。第二个和第五个参考内容提到了优快云博客里的资源,里面有很多免费视频,比如B站的千锋教育和黑马程序员的教程链接,这些应该都是免费的。第三个和第六个参考内容推荐了官方文档、w3school、菜鸟教程,这些网站都是经典的学习资源,完全免费。还有ProgramCreek和LearnPython这样的英文网站,可能适合有一定英语基础的学习者。 另外,第五个参考内容里提到百度网盘的资料,但链接可能需要提取密码,用户可能需要注册或关注才能获取,不过也是免费资源。Udacity的免费课程和Google的Python课程也是不错的选项,尤其是Google的课程质量应该很高。 需要确认的是这些资源是否都还在线,比如B站的视频链接是否有效。用户可能需要自行访问确认,但大部分应该是可用的。总结的时候应该分门别类,比如视频教程、文档网站、实战项目等,让用户方便选择。要确保涵盖从基础到全栈的不同阶段,包括Web开发、爬虫、数据库等内容。需要注意用户要的是全栈,所以后端和前端的内容都要包含。比如Django框架、数据库持久化部分,这些在参考内容里有提到,可以整合进去。 还要注意时效性,虽然参考内容发布时间在2024到2025年之间,但大部分资源比如官方文档和B站教程通常长期有效。可能建议用户优先选择中文资源,如果英语好可以看英文网站。同时提醒用户实践的重要性,结合项目来学习。最后整理成一个结构清晰的回答,列出每个资源类型和对应的链接,方便用户使用。 以下是针对Python从入门到全栈开发的免费学习资源推荐,结合权威性与时效性,覆盖基础语法、Web开发、数据库、爬虫等全栈方向:   一、系统化视频教程(免费) 1. B站千锋教育Python教程      ○ 特点:700集零基础课程,涵盖基础语法、Web开发、爬虫、数据分析、AI基础。      ○ 链接:B站700集教程 2. B站黑马程序员Python教程      ○ 特点:600集系统课程,基于Linux环境,包含基础语法、面向对象、游戏开发。      ○ 链接:B站600集教程 3. Udacity Python入门课(英文)           ○ 特点:免费入门课程,结合搜索引擎与网络爬虫项目,适合动手实践。      ○ 链接:Intro to Computer Science   二、官方文档与中文社区 1Python官方中文文档      ○ 特点:最权威的语法参考,覆盖基础语法、标准库及进阶指南。      ○ 链接:Python中文文档 2. 菜鸟教程 & W3School           ○ 特点:新手友好,提供Python语法、实例及操作步骤详解。      ○ 链接:          ● 菜鸟教程Python          ● W3School Python   三、实战项目与案例 1. ProgramCreek Python代码实例      ○ 特点(英文):海量模块实例(如 datetime 、 requests ),直接搜索函数名称即可查看用法。      ○ 链接:Python Code Examples 2. Github开源项目           ○ 推荐:搜索关键词“Python全栈项目”,如Django博客系统、电商平台。      ○ 学习方式:阅读代码 → 复现功能 → 参与Issue讨论。   四、专项技能提升 1. Web开发(Django/Flask)      ○ 资源推荐:          ● B站Django教程:全栈开发教程          ● Flask官方文档:Flask中文指南 2. 数据库与数据持久化      ○ 免费课:B站搜索“MySQL+Python”或“SQLAlchemy教程”,如SQLAlchemy ORM教程。 3. 爬虫开发(Scrapy/Requests)           ○ B站爬虫框架Scrapy实战:Scrapy框架教程   五、综合学习平台 1. LearnPython(英文)      ○ 特点:交互式学习,涵盖初级到高级语法,附带在线代码编辑器。      ○ 链接:LearnPython 2. Google Python Class           ○ 特点:Google官方课程,包含文本与视频教程,适合快速上手。      ○ 链接:Google Python课程   六、国内免费资源包 1. 优快云博主共享资料      ○ 内容:Python零基础入门、爬虫开发、Web全栈资料包(需百度网盘提取)。      ○ 获取方式:访问此链接 按指引领取。   学习建议 1. 路线:先掌握基础语法(变量、循环、函数)→ 学习数据库与Web框架 → 实战项目 → 深入爬虫/数据分析。 2. 实践:每学完一个知识点,用代码实现小功能(如爬取天气、搭建个人博客)。 3. 社区:加入Python技术群或Stack Overflow,遇到问题及时提问。 希望这些资源能助你从入门到全栈!
06-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值