【问题标题】:How to insert data into PostgreSQL from SQLAlchemy in Python [closed]如何在 Python 中从 SQLAlchemy 将数据插入 PostgreSQL [关闭]
【发布时间】:2019-02-02 14:09:17
【问题描述】:

我在 Postgres 数据库中有一个名为“student_info”的表。该表有列 “student_id”、“student_name”和“student_age”。

我写了三个 Python 函数,分别是:student_id()、student_name()、student_age(),分别返回student_id、student_name、student_age。

我想从 SQLAlchemy 将这些值写入表中的相应列。

我没有得到任何关于我该怎么做的信息。

【问题讨论】:

    标签: python sql database postgresql sqlalchemy


    【解决方案1】:

    如果您刚开始使用 sqlalchemy,您可以关注tutorial,它将指导您连接到数据库、创建映射实体以及使用 sqlalchemy 对表执行基本操作的每一步。

    如果您已经知道如何连接并拥有一个映射实体来表示您的表,您可以简单地实例化您的模型,将数据添加到每个字段中,然后像这样使用add method

    student = Student(student_id=1, student_name='foo', student_age=15)
    session.add(student)
    session.commit()
    

    如果您不想使用 sqlalchemy 映射实体,您可以使用 sqlalchemy engine 执行原始 sql:

    db_url = 'your_database_url'
    engine = create_engine(db_url)
    engine.execute('your_sql_query')
    

    【讨论】:

    • 有些值是空的(NULL),我怎样才能让它们被存储?例如,在某些情况下,我有 student_id、student_name,但没有 student_age。我怎样才能在其中存储一个空白值?
    • 在您的映射实体定义中,您可以将 nullable=True 作为 Column 的参数
    • 我做了,但它不适用于 NUMERIC,Column('studentAge', NUMERIC, nullable=True) 使用 String,它工作正常
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-11
    • 2016-04-06
    • 1970-01-01
    相关资源
    最近更新 更多