讲师中心 微信公众号
AI工具推荐 视频效率加速

CodeGeeX用优雅的Python方式查询数据库【数据库查询】

千墨君_2910

千墨君_2910

发布时间:2026-04-15 19:25:33

|

146人浏览过

|

来源于php中文网

原创

应使用参数化查询配合上下文管理器或SQLAlchemy Core:一、sqlite3中用with connect()自动管理连接与事务,execute("WHERE age > ?", (25,))防注入;二、SQLAlchemy Core通过create_engine和text()实现数据库无关的参数化查询。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

codegeex用优雅的python方式查询数据库【数据库查询】

如果您希望使用CodeGeeX辅助编写Python代码来执行数据库查询,但不确定如何以简洁、安全且符合Python惯用法的方式实现,则可能是由于缺乏对参数化查询、上下文管理及数据库驱动抽象层的统一理解。以下是实现该目标的多种具体方式:

一、使用sqlite3模块配合上下文管理器

SQLite是Python标准库内置的轻量级数据库,其connect()返回的对象支持上下文协议,可自动提交或回滚事务,并确保连接被正确关闭。采用with语句能避免资源泄漏,同时结合参数化查询防止SQL注入。

1、导入sqlite3模块:import sqlite3。

2、使用with语句连接数据库并创建游标:with sqlite3.connect("example.db") as conn: cursor = conn.cursor()。

立即学习“Python免费学习笔记(深入)”;

3、执行参数化查询语句:cursor.execute("SELECT * FROM users WHERE age > ?", (25,))。

4、获取全部结果:results = cursor.fetchall()。

二、使用SQLAlchemy Core构建可移植查询

SQLAlchemy Core提供数据库无关的表达式语言,通过text()或原生select()构造查询,既保持SQL灵活性,又支持绑定参数与方言适配。它不强制使用ORM模型,适合需要直接控制SQL逻辑的场景。

1、安装依赖:pip install sqlalchemy。

2、创建引擎并连接:from sqlalchemy import create_engine; engine = create_engine("sqlite:///example.db")。

3、定义参数化文本查询:from sqlalchemy import text; stmt = text("SELECT name FROM products WHERE price 。

4、执行并传入参数:with engine.connect() as conn: result = conn.execute(stmt, {"max_price": 100.0})。

5、遍历结果行:for row in result: print(row.name)。

361SCAN security check your skill python scripts
361SCAN security check your skill python scripts

扫描并分析已安装技能,用于查看指定技能目录的名称、描述和详情,或列出所有已安装的技能。

下载

三、使用asyncpg配合async/await异步查询PostgreSQL

当处理高并发I/O密集型数据库操作时,asyncpg提供极快的异步PostgreSQL访问能力,其查询接口默认启用二进制协议与预编译语句,性能优于同步驱动。所有查询必须在异步上下文中执行。

1、安装异步驱动:pip install asyncpg。

2、定义异步查询函数:import asyncpg; async def fetch_users(): ...。

3、建立异步连接池:pool = await asyncpg.create_pool("postgresql://user:pass@localhost/dbname")。

4、从池中获取连接并执行参数化查询:async with pool.acquire() as conn: rows = await conn.fetch("SELECT * FROM logs WHERE level = $1", "ERROR")。

5、解析结果为字典列表:[dict(row) for row in rows]。

四、使用Dataset库实现极简声明式查询

Dataset将数据库视为“表格集合”,隐藏连接、游标和SQL字符串拼接细节,允许以类似字典的操作方式读写数据。它内部仍使用SQLAlchemy引擎,适用于快速原型开发或脚本任务,但不适用于复杂JOIN或存储过程调用。

1、安装库:pip install dataset。

2、打开数据库连接:import dataset; db = dataset.connect("sqlite:///example.db")。

3、获取表对象:table = db["users"]。

4、执行带条件的查询:results = table.find(age={"$gt": 30}, order_by="-created_at", limit=10)。

5、迭代结果并访问字段:for record in results: print(record["name"], record["email"])。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

相关专题

更多
python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

1791

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

4744

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1749

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

28197

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3387

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3407

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

1203

2023.08.11

python合并两个列表
python合并两个列表

Python是一种强大的编程语言,具有许多方便的功能和工具。在Python中,有多种方法可以合并两个列表。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

616

2023.08.10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

20

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CodeGeex使用手册
CodeGeex使用手册

共0课时 | 0人学习

Uvicorn官方安装与入门手册
Uvicorn官方安装与入门手册

共0课时 | 0人学习

Python uv官方项目管理指南
Python uv官方项目管理指南

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn