python - mysql python 合并结果

标签 python mysql sql

尝试用 python 更优雅地编写以下内容...从 mysql 的角度来看。您会注意到我正在尝试根据另一个表中的条目将结果合并到一个表中。编写此类 SQL 查询的正确、简洁、行业智能的方法是什么?

基本上,我想说的是......“从 urls 表中选择网站表中属于某个网站组的所有 url”

谢谢!

site = sys.argv[0]
checksanity (log,site) #check syntax, etc

log.info ("Running site %s", site)
cursor = conn.cursor ()

#get siteid
query = "SELECT sites.id from sites WHERE sitename LIKE '" + site + "'"
cursor.execute (query)
siteidlong = cursor.fetchone()
siteid = str(siteidlong[0])

query = "SELECT search_for,urls.url FROM urls WHERE site_id LIKE '" + siteid + "'"
print query
cursor.execute (query)
resultstring = cursor.fetchall()
print resultstring

cursor.close ()
conn.close ()

最佳答案

欢迎使用 SQL。现在您已经编写了两个查询,是时候了解 JOIN 和 SQL 注入(inject)了。

select *
from urls, sites
where urls.site_id = sites.id
and sitename like ?

祝你好运。

关于python - mysql python 合并结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7409472/

相关文章:

python - 为什么 Python 集不保留插入顺序?

python - 如何取消除 argmax 之外的所有条目?

python - 用 ctypes 包装 C++ 库是个坏主意吗?

php - 项目不会插入到 SQL 表 android 的末尾

sql - 函数中的 Postgres %%

python - 检索 Panda Dataframe 列中列表的最后一个元素

mysql - 返回序号

php mysql高级选择

sql - 聚合表 2 中的行以避免重复表 1 中的行

mysql - 组合来自不同表的两个查询并按公共(public)列排序?