[PYTHON] Comment mettre à jour avec SQLAlchemy?

Cette fois, j'écrirai la méthode de ** Update ** avec ** SQLAlchemy **.

Environnement d'exploitation

Exemple de code

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()

Résumé

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

Comment mettre à jour avec SQLAlchemy?
Comment modifier avec SQLAlchemy?
Comment supprimer avec SQLAlchemy?
Comment INNER JOIN avec SQL Alchemy
Comment obtenir l'identifiant du parent avec sqlalchemy
Comment mettre à jour easy_install
Comment utiliser SQLAlchemy / Connect avec aiomysql
[TF] Comment spécifier les variables à mettre à jour avec Optimizer
Comment mettre à jour Tkinter de Python vers la version 8.6
Introduction à RDB avec sqlalchemy Ⅰ
Comment lancer avec Theano
Comment séparer les chaînes avec ','
Comment faire RDP sur Fedora31
Comment convertir un objet de classe en dictionnaire avec SQLAlchemy
Comment obtenir plus de 1000 données avec SQLAlchemy + MySQLdb
Comment annuler RT avec Tweepy
Comment gérer une session dans SQLAlchemy
Python: comment utiliser async avec
Comment mettre à jour Spyder dans Anaconda
Pour utiliser virtualenv avec PowerShell
Comment installer python-pip avec ubuntu20.04LTS
Comment gérer les données déséquilibrées
Introduction à RDB avec sqlalchemy II
Comment démarrer avec Scrapy
Comment démarrer avec Python
Comment gérer l'erreur DistributionNotFound
Comment démarrer avec Django
Comment augmenter les données avec PyTorch
Comment calculer la date avec python
Comment installer mysql-connector avec pip3
Comment installer Anaconda avec pyenv
Comment écrire la mise à jour de la banque de données en asynchrone avec Google Apps Engine
Comment mettre à jour le blog FC2, etc. en utilisant XMLRPC avec Python
Comment effectuer un traitement arithmétique avec le modèle Django
[Blender] Comment définir shape_key avec un script
Comment titrer plusieurs figures avec matplotlib
Comment ajouter un package avec PyCharm
Comment mettre à jour vers Chainer 2.0 (Windows + CUDA 8.0 + CUDNN)
Comment mettre à jour Google Sheets à partir de Python
Comment installer DLIB avec 2020 / CUDA activé
Comment utiliser ManyToManyField avec l'administrateur de Django
Comment utiliser OpenVPN avec Ubuntu 18.04.3 LTS
Comment utiliser Cmder avec PyCharm (Windows)
Comment mettre à jour manuellement le cache AMP
Comment empêcher les mises à jour de paquets avec apt
Comment utiliser BigQuery en Python
Comment mettre à jour PHP sur Amazon Linux 2
Comment gérer les erreurs de compatibilité d'énumération
Comment utiliser le japonais avec le tracé NLTK
Comment faire un test de sac avec python
Comment rechercher Google Drive dans Google Colaboratory
Comment afficher le japonais python avec lolipop
Comment télécharger des vidéos YouTube avec youtube-dl
Comment utiliser le notebook Jupyter avec ABCI
Comment mettre hors tension de Linux sur Ultra96-V2
Comment mettre à jour la sécurité sur CentOS Linux 8