sqlalchemy update sql

[CPyUG] SQLAlchemy对多条数据批量更新的问题

Click to flag this post 

by Gaicitadie Apr 12, 2010; 11:50pm :: Rate this Message:    - Use ratings to moderate (?)

Reply | Print | View Threaded | Show Only this Message

假设有一个表 News,有一个字段tid,部分记录的tid为0,我想把tid为0的记录,更新它们的tid为100 

如果用SQL语句很方便: 

    UPDATE News SET tid=100 WHERE tid=0 


如果只是更新里面其中的一条,我也可以用SQLAlchemy的方法: 

    new = session.query(News).filter(News.tid==0).first() 
    new.tid = 100 
    session.commit() 

但如果是有几百条记录,用SQLAlchemy一条一条的去更新,太麻烦了啊,还不如直接用SQL语句了。 

请大侠们告知,如果用SQLAlchemy的ORM的方式有简便的批量更新的方法吗 

-- 
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:python-cn@... 
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp

To unsubscribe, reply using "remove me" as the subject. 

Re: [CPyUG] SQLAlchemy对多条数据批量更新的问题

Click to flag this post 

by Xie&Tian Apr 13, 2010; 12:15am :: Rate this Message:    - Use ratings to moderate (?)

Reply | Print | View Threaded | Show Only this Message

批量执行,executemany 

在 2010年4月12日 下午11:50,Gaicitadie <gaicitadie@...> 写道:

> 假设有一个表 News,有一个字段tid,部分记录的tid为0,我想把tid为0的记录,更新它们的tid为100 

> 如果用SQL语句很方便: 

>    UPDATE News SET tid=100 WHERE tid=0 


> 如果只是更新里面其中的一条,我也可以用SQLAlchemy的方法: 

>    new = session.query(News).filter(News.tid==0).first() 
>    new.tid = 100 
>    session.commit() 

> 但如果是有几百条记录,用SQLAlchemy一条一条的去更新,太麻烦了啊,还不如直接用SQL语句了。 

> 请大侠们告知,如果用SQLAlchemy的ORM的方式有简便的批量更新的方法吗 

> -- 
> 来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:python-cn@... 
> 退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
> 详情: https://groups.google.com/group/python-cn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp

> To unsubscribe, reply using "remove me" as the subject. 
>



-- 
Luyun Xie 
谢路云 
http://magefromhell.blogspot.com/
(http://blog.hellmage.info/

-- 
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:python-cn@... 
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp

Re: [CPyUG] SQLAlchemy对多条数据批量更新的问题

Click to flag this post 

by 诚子 Apr 13, 2010; 09:34am :: Rate this Message:    - Use ratings to moderate (?)

Reply | Print | View Threaded | Show Only this Message

http://www.sqlalchemy.org/docs/reference/orm/query.html
update方法的笑而不语


在 2010年4月12日 下午11:50,Gaicitadie <gaicitadie@...>写道:
 
假设有一个表 News,有一个字段tid,部分记录的tid为0,我想把tid为0的记录,更新它们的tid为100
 
如果用SQL语句很方便:
 
   UPDATE News SET tid=100 WHERE tid=0
 
 
如果只是更新里面其中的一条,我也可以用SQLAlchemy的方法:
 
   new = session.query(News).filter(News.tid==0).first()
   new.tid = 100
   session.commit()
 
但如果是有几百条记录,用SQLAlchemy一条一条的去更新,太麻烦了啊,还不如直接用SQL语句了。

请大侠们告知,如果用SQLAlchemy的ORM的方式有简便的批量更新的方法吗

--
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:python-cn@...
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp

To unsubscribe, reply using "remove me" as the subject.



-- 
my.unix-center.net/~WeiZhicheng
-- 
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:python-cn@...
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp

[CPyUG] Re: SQLAlchemy对多条数据批量更新的问题

Click to flag this post 

by Gaicitadie Apr 13, 2010; 02:27pm :: Rate this Message:    - Use ratings to moderate (?)

Reply | Print | View Threaded | Show Only this Message

谢谢,用update方法解决了: 
    session.query(News).filter(News.tid==0).update({News.tid:100}) 
    session.commit() 

On 4月13日, 上午9时34分, 诚子 <zhicheng1...@...> wrote: 
http://www.sqlalchemy.org/docs/reference/orm/query.html
> 用update方法的笑而不语 


-- 
来自: `python-cn`:CPyUG ~ 华蟒用户组 | 发言:python-cn@... 
退订: http://tinyurl.com/45a9tb //针对163/qq邮箱:http://tinyurl.com/4dg6hc
详情: https://groups.google.com/group/python-cn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp

To unsubscribe, reply using "remove me" as the subject. 
原文地址:https://www.cnblogs.com/lexus/p/1855277.html