Python多个数据库导致一次更新
我想更新一行中的几个数据库结果 我的代码:Python多个数据库导致一次更新,python,mysql,sql,sql-update,Python,Mysql,Sql,Sql Update,我想更新一行中的几个数据库结果 我的代码: sql_client = "SELECT pd.prj_id, pd.dl_id, pd.name, pd.email FROM projects_doc pd JOIN reminder rm ON pd.prj_id = rm.prj_id WHERE doc_typ = 'assignment' ORDER BY pd.id ASC;" result = cursor.execute(sql_client) result = cursor.fet
sql_client = "SELECT pd.prj_id, pd.dl_id, pd.name, pd.email FROM projects_doc pd JOIN reminder rm ON pd.prj_id = rm.prj_id WHERE doc_typ = 'assignment' ORDER BY pd.id ASC;"
result = cursor.execute(sql_client)
result = cursor.fetchall()
for row in result:
sql_prj_id = row['prj_id']
sql_dl_id = row['dl_id']
sql_dl_name = row['name']
sql_dl_email = row['email']
示例输出:
- 1544,TestName1,test@testname1.com
- 2255,TestName4,test@testname4.com
- 2256TestName5,test@testname5.com
- 2257,TestName6,test@testname6.com
- 3188,TestName7,test@testname7.com
prj_id, dl_id, dl_name, dl_email
最终结果(示例)
- 一,;544; TestName1;test@testname1.com
- 二,;255, 256, 258; TestName4、TestName5、TestName6;test@testname4.com, test@testname5.com, test@testname6.com
- 三,;188; TestName7;test@testname7.com
选择pd.prj_id,
作为grp\U id的组(pd.dl\U id),
集团公司名称(pd.name)为集团公司名称,
分组会议(pd.电子邮件)作为grp\U电子邮件
来自projects\u doc pd
加入pd.prj_id=rm.prj_id上的提醒rm
其中doc_typ='分配'
按pd.prj_id分组
由pd.id ASC订购;
然而,不清楚如何运行更新,因为原始表中的行数将比上述聚合查询中的行数多。考虑从上面的查询创建一个新的表:
创建新表格\u表格为
或者更好的做法是保留原始的长格式,它提供了更高效的存储、可伸缩性、查询可维护性和引用完整性,因为列中的嵌套列表通常比表结构用于报告。只需从该查询创建一个视图。视图是存储在别处的查询,甚至在应用程序级(如Python)中使用,甚至可以自己查询
CREATE VIEW new\u VIEW AS
从prj_id=1的新_视图中选择*;
更新是什么意思?您想用Python输出还是覆盖现有的MySQL表数据?如果是后者,如何处理不同的行?