我必须为分配绑定数据库和编程,我对代码有所了解,但需要确保我可以将我在mySQL中创建的表用作Python中的类或对象。
示例:我使用SQL创建具有特定地址和邮政编码的房屋数据库。客户说他们住在邮政编码x。然后我的程序应该解析数据库并返回zipcode x中的所有地址。然后理想情况下在SQL中创建一个包含客户端结果的表。
不是确切的任务,但它得到了基本的想法。
答案 0 :(得分:1)
您正在寻找ORM。见SQLAlchemy。例如:
from sqlalchemy import Column, String, Integer, Sequence
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
create_session = sessionmaker()
Base = declarative_base()
person_autoincr_seq = Sequence('person_autoincr_seq')
class Person(Base):
__tablename__ = "person"
id = Column(
Integer,
person_autoincr_seq,
server_default=person_autoincr_seq.next_value(),
nullable = False,
primary_key = True
)
name = Column(
String,
nullable = False
)
def __init__(self, name,id=None):
if id is not None:
self.id = id
self.name = name
使用db:
import logging as log
from contextlib import closing
engine = sqlalchemy.engine.create_engine(
"postgresql://testuser:mypassword@127.0.0.1:5432/testdb"
)
create_session.configure(bind=engine)
try:
with closing(create_session()) as db_session:
name = db_session.query(Person.name).filter_by(id=5).one()[0]
except Exception:
log.exception("Something wrong while querying db")