[英]Sqlalchemy overwrite data in table
我有问题 。 此代码覆盖表中的数据。 我想将行添加到现有表中而不删除现有行。
class Ordering(BaseModel):
__tablename__ = 'ordering'
id_z = Column(Integer, primary_key=True)
family = Column(String(100), nullable=False)
name = Column(String(100), nullable=False)
phone = Column(String(15), nullable=False)
id_m = Column(Integer, ForeignKey('menu.id_m'))
class Menu(BaseModel):
__tablename__ = 'menu'
id_m = Column(Integer, primary_key=True)
dish = Column(String(100), nullable=False)
quantity = Column(Integer, nullable=False)
measurment = Column(String(10), nullable=False)
relation = relationship('Ordering', backref='Menu')
BaseModel.metadata.create_all(base)
while True:
BDSesion = sessionmaker(bind=base)
session = BDSesion()
if not session.query(Menu).count():
session.add(Menu(dish=input('dish'), quantity=input('quantity'),measurment=input('measurment')))
n = input("Please enter 'q' to finish any other key next:")
if n.upper().strip() == 'Q':
session.commit()
session.close()
break
我使用 Pandas 读入数据,并且可以附加到这样的表中:
import pandas as pd
import sqlalchemy
import urllib
cs = 'DRIVER={ODBC Driver 17 for SQL Server};SERVER=' + server + ';Trusted_Connection=no;uid=' + uid + ';pwd=' + pwd + ';'
params = urllib.parse.quote_plus(cs)
engine = sqlalchemy.create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)
df.to_sql('tablename', engine, schema='schema_name', index=False, if_exists='append')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.