Die Ausdruckssprache führt Funktionen ein, die SQL für verschiedene Operationen erstellen.
Das folgende Zoo-Objekt verfolgt einen Zwischenansatz zwischen der Welt der SQL-Datenbanken und der Welt der Python-Datenstrukturen. (** Ich verstehe, dass es eine Mischung aus Syntax ähnlich wie SQL-Anweisungen (nur Groß- und Kleinbuchstaben) und Python-Syntax wie select () ** gibt.)
>>> import sqlalchemy as sa
>>> conn=sa.create_engine("sqlite://")
#Verwenden Sie eine Ausdruckssprache anstelle von SQL, um die Zootabelle zu definieren.
>>> meta=sa.MetaData()
>>> zoo=sa.Table("zoo",meta,
... sa.Column("critter",sa.String,primary_key=True),
... sa.Column("count",sa.Integer),
... sa.Column("damages",sa.Float)
... )
>>> meta.create_all(conn)
#Fügen Sie Daten in einer Darstellungssprache ein.
>>> conn.execute(zoo.insert(("bear",2,1000.0)))
<sqlalchemy.engine.result.ResultProxy object at 0x108f30590>
>>> conn.execute(zoo.insert(("weasel",1,2000.0)))
<sqlalchemy.engine.result.ResultProxy object at 0x108f306d0>
>>> conn.execute(zoo.insert(("duck",10,0)))
<sqlalchemy.engine.result.ResultProxy object at 0x108f303d0>
#Geben Sie eine SELECT-Anweisung ab. Zoo.select()Ist ein einfaches SQL Python SELECT*Entspricht dem FROM-Zoo alle Informationen in der Tabelle, die vom Zoo-Objekt dargestellt werden.
>>> result=conn.execute(zoo.select())
#Holen Sie sich Informationen und speichern Sie sie in Zeilen.
>>> rows=result.fetchall()
>>> print(rows)
[('bear', 2, 1000.0), ('weasel', 1, 2000.0), ('duck', 10, 0.0)]
>>> import sqlalchemy as sa
>>> from sqlalchemy.ext.declarative import declarative_base
#Verbindung öffnen.
>>> conn=sa.create_engine("sqlite:///zoo.db")
>>> Base=declarative_base()
#Geben Sie den ORM von SQL AIchemy ein.
>>> class Zoo(Base):
... __tablename__="zoo"
... critter=sa.Column("critter",sa.String,primary_key=True)
... count=sa.Column("count",sa.Integer)
... dameges=sa.Column("damages",sa.Float)
... def __init__(self,critter,count,damages):
... self.critter=critter
... self.count=count
... self.damages=damages
... def __repr__(self):
... return "<Zoo({},{},{})>".format(self.critter,self.count,self.damages)
...
#DB- und Tabellenerstellung
>>> Base.metadata.create_all(conn)
#Wenn Sie ein Python-Objekt erstellen, können Sie Daten in die Zootabelle einfügen.
>>> first=Zoo("duck",10,0.0)
>>> second=Zoo("bear",2,1000.0)
>>> third=Zoo("weasel",1,2000.0)
>>> first
<Zoo(duck,10,0.0)>
--Erstellen Sie eine Sitzung für die Interaktion mit DB.
>>> from sqlalchemy.orm import sessionmaker
>>> Session =sessionmaker(bind=conn)
>>> session=Session()
#Schreiben Sie die drei zuvor in der Sitzung erstellten Objekte in die Datenbank.
#add()Funktion fügt ein Objekt hinzu_all()Die Funktion fügt eine Liste hinzu.
>>> session.add(first)
>>> session.add_all([second,third])
#Schließen Sie schließlich die gesamte Verarbeitung zwangsweise ab.
>>> session.commit
<bound method Session.commit of <sqlalchemy.orm.session.Session object at 0x108f3f1d0>>
Ich studiere derzeit Parallelverarbeitung in Kapitel 11, aber der Inhalt ist ziemlich umfangreich. Es kommt mir überhaupt nicht in den Sinn, aber wenn ich mir die Python-Dokumentation anschaue, gibt es Teile, die detaillierter geschrieben sind als das Buch, und ich konnte Multiprocessing verstehen, das ich gestern nicht verstanden habe, und ich fühlte die Bedeutung der Dokumentation.
"Einführung in Python3 von Bill Lubanovic (veröffentlicht von O'Reilly Japan)"
Recommended Posts