You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不使用Pandas的Python中提取数据库表enabled为True的行

实现方法:提取enabled字段为True的数据库行(不使用Pandas)

1. 数据库层面直接过滤(推荐)

最高效的方式是通过SQL语句直接在数据库中筛选符合条件的行,数据库引擎擅长数据过滤,能减少传输到应用层的数据量。

根据你的表结构,执行以下SQL查询即可:

SELECT id, name, enabled, dept
FROM your_table_name
WHERE enabled = 'TRUE';

注意事项:

  • 如果你的数据库中enabled字段是布尔类型(如PostgreSQL的boolean、SQLite的INTEGER(1代表True,0代表False)),需调整查询条件:
    • PostgreSQL:WHERE enabled = TRUE
    • SQLite:WHERE enabled = 1
  • 这条查询会自动排除enabled为FALSE或空值的行,因为SQL中空值(NULL)不等于任何值,不会被=匹配到。

2. Python原生代码处理(不依赖Pandas)

使用Python标准库或数据库驱动(如sqlite3、mysql-connector-python、psycopg2)直接操作数据库,获取并处理结果。以下是基于sqlite3的示例:

import sqlite3

# 连接数据库(替换为你的数据库路径/配置)
conn = sqlite3.connect('your_database.db')
cursor = conn.cursor()

# 执行查询语句
cursor.execute("SELECT id, name, enabled, dept FROM your_table_name WHERE enabled = 'TRUE'")

# 获取所有匹配的行
matched_rows = cursor.fetchall()

# 格式化输出结果(模拟表格样式)
print(f"{'id':<6}{'name':<8}{'enabled':<10}{'dept':<5}")
for row in matched_rows:
    print(f"{row[0]:<6}{row[1]:<8}{row[2]:<10}{row[3]:<5}")

# 关闭连接,释放资源
cursor.close()
conn.close()

适配其他数据库:

  • 若使用MySQL,替换sqlite3为mysql.connector,调整连接参数(主机、用户名、密码等)即可。
  • 若使用PostgreSQL,替换为psycopg2,连接方式类似。

内容的提问来源于stack exchange,提问作者Mia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 18:30:28