gpt4 book ai didi

python - 将 SQL 命令转换为 Python 的 ORM

转载 作者:行者123 更新时间:2023-11-29 13:38:10 24 4
gpt4 key购买 nike

如何将以下代码转换为 Python 的 ORM,例如通过 SQLalchemy?

#1 将数据放入Pg

import os, pg, sys, re, psycopg2                                                       

#conn = psycopg2.connect("dbname='tkk' host='localhost' port='5432' user='noa' password='123'")

conn = psycopg2.connect("dbname=tk user=naa password=123")
cur = conn.cursor()
cur.execute("""INSERT INTO courses (course_nro)
VALUES ( %(course_nro)s )""", dict(course_nro='abcd'))
conn.commit()

#2 获取

cur.execute("SELECT * FROM courses")
print cur.fetchall()

关于SQLalchemy中两个命令的例子

插入

sqlalchemy.sql.expression.insert(table, values=None, inline=False, **kwargs)

选择

sqlalchemy.sql.expression.select(columns=None, whereclause=None, from_obj=[], **kwargs)

最佳答案

初始声明后,您可以执行以下操作:

o = Course(course_nro='abcd')
session.add(o)
session.commit()

print session.query(Course).all()

声明可能看起来像这样:

from sqlalchemy import *
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import session_maker

# create an engine, and a base class
engine = create_engine('postgre://naa:123@localhost/tk')
DeclarativeBase = declarative_base(bind=engine)
metadata = DeclarativeBase.metadata

# create a session
Session = session_maker(engine)
session = Session()

# declare the models
class Cource(DelcarativeBase):
__tablename__ = 'courses'

course_nro = Column('course_nro', CHAR(12))

这种声明式方法只是使用 sqlalchemy 的一种方式。

关于python - 将 SQL 命令转换为 Python 的 ORM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1779239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com