Cette fois, j'écrirai la méthode de ** Update ** avec ** SQLAlchemy **.
Mettez à jour l'enregistrement avec id == 2 (name = "Seiichi Sugino", kana = 'Sugi no Seiichi').
sqlalchemy_update.py
# -*- coding:utf-8 -*-
import sqlalchemy
import sqlalchemy.orm
import sqlalchemy.ext.declarative
Base = sqlalchemy.ext.declarative.declarative_base()
class Student(Base):
__tablename__ = 'students'
id = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True)
name = sqlalchemy.Column(sqlalchemy.String(20))
kana = sqlalchemy.Column(sqlalchemy.String(40))
def main():
url = 'mysql+pymysql://root:@localhost/test_db?charset=utf8'
engine = sqlalchemy.create_engine(url, echo=True)
#Créer une session
Session = sqlalchemy.orm.sessionmaker(bind=engine)
session = Session()
#Supprimer toutes les données
session.query(Student).delete()
#Enregistrez plusieurs données à la fois
session.add_all([
Student(id=1, name='Yu Ishizaka', kana='Yu Ishizaka'),
Student(id=2, name='Seiichi Sugino', kana='Sugi no Seiichi'),
Student(id=3, name='Yuko Kuwata', kana='Yuko Kuwata'),
Student(id=4, name='Ai Kurihara', kana='Kurihara Ai'),
])
# id==Mettre à jour 2 données
student = session.query(Student).filter(Student.id==2).first()
student.name = 'Hitoshi Sakuma'
student.kana = 'Sakuma Jin'
#Sortir toutes les données du tableau
print_all_students(session)
#Confirmer les données
session.commit()
#Une fonction qui sort toutes les données du tableau
def print_all_students(session):
students = session.query(Student).all()
for student in students:
print('%d, %s %s' % (student.id, student.name, student.kana))
if __name__ == '__main__':
main()
Il n'y a rien de spécial à propos de Update. Il suffit de dire qu'il n'y a pas de méthode de mise à jour, et que vous pouvez directement faire fonctionner l'objet obtenu à partir de Session.
Je n'ai peut-être pas pris la peine d'écrire un article, mais j'ai écrit sur Delete et Alter, donc je vais le laisser en bonus.
Comment supprimer avec SQLAlchemy? Comment modifier avec SQLAlchemy?
Recommended Posts