[PYTHON] Wie aktualisiere ich mit SQLAlchemy?

Dieses Mal werde ich die Methode von ** Update ** mit ** SQLAlchemy ** schreiben.

Betriebsumgebung

Beispielcode

Aktualisieren Sie den Datensatz mit der 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)

    #Erstellen Sie eine Sitzung
    Session = sqlalchemy.orm.sessionmaker(bind=engine)
    session = Session()

    #Löschen Sie alle Daten
    session.query(Student).delete()

    #Registrieren Sie mehrere Daten gleichzeitig
    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==Aktualisieren Sie 2 Daten
    student = session.query(Student).filter(Student.id==2).first()
    student.name = 'Hitoshi Sakuma'
    student.kana = 'Sakuma Jin'

    #Geben Sie alle Daten in der Tabelle aus
    print_all_students(session)

    #Daten bestätigen
    session.commit()

#Eine Funktion, die alle Daten in der Tabelle ausgibt
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()

Zusammenfassung

Update hat nichts Besonderes. Es genügt zu sagen, dass es keine Aktualisierungsmethode gibt und Sie das aus der Sitzung erhaltene Objekt direkt bedienen können.

Ich habe mir vielleicht nicht die Mühe gemacht, einen Artikel zu schreiben, aber ich habe über Löschen und Ändern geschrieben, also lasse ich ihn als Bonus.

Wie lösche ich mit SQLAlchemy? Wie man mit SQLAlchemy verändert?

Recommended Posts

Wie aktualisiere ich mit SQLAlchemy?
Wie mit SQLAlchemy ändern?
Wie lösche ich mit SQLAlchemy?
So verbinden Sie INNER mit SQL Alchemy
So erhalten Sie die Eltern-ID mit sqlalchemy
So aktualisieren Sie easy_install
Verwendung von SQLAlchemy / Connect mit aiomysql
[TF] So geben Sie Variablen an, die mit Optimizer aktualisiert werden sollen
So aktualisieren Sie Pythons Tkinter auf 8.6
Einführung in RDB mit sqlalchemy Ⅰ
Wie man mit Theano besetzt
So trennen Sie Zeichenfolgen mit ','
Wie man RDP auf Fedora31 macht
So konvertieren Sie ein Klassenobjekt mit SQLAlchemy in ein Wörterbuch
So erhalten Sie mit SQLAlchemy + MySQLdb mehr als 1000 Daten
So brechen Sie RT mit tweepy ab
Umgang mit Sitzungen in SQLAlchemy
Python: So verwenden Sie Async mit
So aktualisieren Sie Spyder in Anaconda
So verwenden Sie virtualenv mit PowerShell
So installieren Sie Python-Pip mit Ubuntu20.04LTS
Umgang mit unausgeglichenen Daten
Einführung in RDB mit sqlalchemy II
Wie fange ich mit Scrapy an?
Erste Schritte mit Python
Umgang mit dem DistributionNotFound-Fehler
Wie fange ich mit Django an?
Aufblasen von Daten (Datenerweiterung) mit PyTorch
So berechnen Sie das Datum mit Python
So installieren Sie den MySQL-Connector mit pip3
So installieren Sie Anaconda mit pyenv
So schreiben Sie ein Datenspeicher-Update asynchron mit Google Apps Engine
So aktualisieren Sie FC2-Blogs usw. mithilfe von XMLRPC mit Python
So führen Sie eine arithmetische Verarbeitung mit der Django-Vorlage durch
[Blender] So legen Sie shape_key mit dem Skript fest
Wie man mit matplotlib mehrere Figuren betitelt
So fügen Sie ein Paket mit PyCharm hinzu
So aktualisieren Sie auf Chainer 2.0 (Windows + CUDA 8.0 + CUDNN)
So aktualisieren Sie Google Sheets von Python
So installieren Sie DLIB mit aktiviertem 2020 / CUDA
Verwendung von ManyToManyField mit Djangos Admin
Verwendung von OpenVPN mit Ubuntu 18.04.3 LTS
Verwendung von Cmder mit PyCharm (Windows)
So aktualisieren Sie den AMP-Cache manuell
So verhindern Sie Paketaktualisierungen mit apt
So arbeiten Sie mit BigQuery in Python
So aktualisieren Sie PHP unter Amazon Linux 2
Umgang mit Enum-Kompatibilitätsfehlern
Verwendung von Japanisch mit NLTK-Plot
Wie man einen Taschentest mit Python macht
So suchen Sie in Google Colaboratory nach Google Drive
So zeigen Sie Python-Japanisch mit Lolipop an
So laden Sie YouTube-Videos mit youtube-dl herunter
Verwendung des Jupyter-Notebooks mit ABCI
So schalten Sie Linux unter Ultra96-V2 aus
So aktualisieren Sie die Sicherheit unter CentOS Linux 8