【问题标题】:How can I search an entire database in Python's sqlite3?如何在 Python 的 sqlite3 中搜索整个数据库?
【发布时间】:2016-05-18 11:27:15
【问题描述】:

sqlite3 新手...我已经使用 sqlite3 在 python 中构建了一个数据库。该数据库有数百个表。例如,一个示例表列出了人们的平均年龄作为纬度和经度的函数。我可以使用什么命令在整个数据库(所有表)中搜索 lat > 15 和 lon

表 1:

_Avg. age_|__Latitude__|__Longitude__
     15   |    19.86   |     21.5
     21   |    19.86   |     21.5
     75   |    19.86   |     21.5
     16   |    19.86   |     21.5
     .    |      .     |       . 
     .    |      .     |       . 
     .    |      .     |       . 

表 2:

_Avg. age_|__Latitude__|__Longitude__
     75   |   -22.65   |     53.5
     65   |   -22.65   |     53.5
     12   |   -22.65   |     53.5
     31   |   -22.65   |     53.5
     16   |    19.86   |     53.5
     .    |      .     |       . 
     .    |      .     |       . 
     .    |      .     |       . 

【问题讨论】:

  • “我可以使用什么命令来搜索整个数据库(所有表)”您不需要这样做。不应动态创建表。用单个表中的列替换表名中的任何信息。

标签: python search sqlite


【解决方案1】:

您需要遍历所有表并从每个表中进行选择

for table in db.execute("SELECT name FROM my_db.sqlite_master WHERE type='table'").fetchall():
    print db.execute("SELECT * FROM %s WHERE lat > 15  and lon < 30"%table).fetchall()

我猜

【讨论】:

  • 在 Windows 上,my_db.sqlite_master 变为 sqlite_master。此外,我需要明确定义我的 conn=sqlite3.connect 文件路径。
  • of粗的......这个答案假设您对如何连接到sqlite3数据库有一些基本的了解......
猜你喜欢
  • 1970-01-01
  • 2021-10-29
  • 2020-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-03
  • 1970-01-01
相关资源
最近更新 更多