将数据插入特定表(sqlalchemy)

时间:2012-11-02 23:09:06

标签: python-2.7 sqlalchemy

使用sqlalchemy将数据插入数据库非常容易。

address.name = 'Joe'
address.age = 26
session.add(address)

但实际上我有三个表 - 如何指定我想要插入数据的表?

2 个答案:

答案 0 :(得分:17)

我通过使用sql表达式语言添加新行来解决问题:

engine.execute(table_addresses.insert(), name='Joe', age=20)
engine.execute(table_contacts.insert(), email='joe@something.com', cellnumber='267534320')

Normaly我使用ORM,但就我而言,它更方便。

答案 1 :(得分:8)

您可能希望查看sqlalchemy ORM tutorial

为了让你开始,我怀疑你会想要设置如下的东西。

from sqlalchemy import Column, Integer, String
class Address(Base):
    __tablename__ = 'addresses'

    id = Column(Integer, primary_key=True)
    name = Column(String)
    age = Column(Integer)

    def __init__(self, name, age):
        self.name = name
        self.age = age

现在看来你已经知道如何开会,你可以这样做

address = Address('Joe', 26)
session.add(address)

虽然有可能你可能只是尝试在飞行中做它,它可能不会让你的生活更轻松,因为你仍然必须告诉它什么对象与整数,字符串等有关映射到数据库表。