[Introduction à Python3 Day 18] Chapitre 8 Destinations de données (8.3.6.2 à 8.3.6.3)

8.3.6.2 Langage de représentation SQL

--L'objet zoo suivant adopte une approche intermédiaire entre le monde des bases de données SQL et le monde des structures de données Python. (** Je comprends qu'il existe un mélange de syntaxe similaire aux instructions SQL (uniquement en majuscules et minuscules) et à la syntaxe Python telle que select () **)


>>> import sqlalchemy as sa
>>> conn=sa.create_engine("sqlite://")
#Utilisez un langage d'expression au lieu de SQL pour définir la table zoo.
>>> 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)
#Insérez des données à l'aide d'un langage de représentation.
>>> 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>
#Faites une instruction SELECT. zoo.select()Est un SQL Python SELECT simple*Égal à FROM zoo, il sélectionne les informations pour toutes les tables représentées par l'objet zoo.
>>> result=conn.execute(zoo.select())
#Obtenez des informations et stockez-les en lignes.
>>> rows=result.fetchall()
>>> print(rows)
[('bear', 2, 1000.0), ('weasel', 1, 2000.0), ('duck', 10, 0.0)]


8.3.6.3 ORM (Object Relationship Mapping)

--Au niveau supérieur de SQLAIchemy, ORM utilise la représentation SQL, mais le mécanisme de base de données réel n'est pas visible. Si vous définissez une classe, ORM traitera les données avec le DB.


>>> import sqlalchemy as sa
>>> from sqlalchemy.ext.declarative import declarative_base
#Ouverture d'une connexion.
>>> conn=sa.create_engine("sqlite:///zoo.db")
>>> Base=declarative_base()
#Entrez l'ORM de SQL AIchemy.
>>> 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)
... 
#Création de bases de données et de tables
>>> Base.metadata.create_all(conn)
#Si vous créez un objet Python, vous pouvez insérer des données dans la table zoo.
>>> first=Zoo("duck",10,0.0)
>>> second=Zoo("bear",2,1000.0)
>>> third=Zoo("weasel",1,2000.0)
>>> first
<Zoo(duck,10,0.0)>

--Créez une session pour interagir avec DB.


>>> from sqlalchemy.orm import sessionmaker
>>> Session =sessionmaker(bind=conn)
>>> session=Session()
#Écrivez les trois objets créés plus tôt dans la session dans la base de données.
#add()La fonction ajoute un objet_all()La fonction ajoute une liste.
>>> session.add(first)
>>> session.add_all([second,third])
#Enfin, terminez de force tous les traitements.
>>> session.commit
<bound method Session.commit of <sqlalchemy.orm.session.Session object at 0x108f3f1d0>>


Impressions

J'étudie actuellement le traitement parallèle au chapitre 11, mais le contenu est assez riche. Cela ne me vient pas du tout à l'esprit, mais quand je regarde la documentation Python, il y a des parties qui sont écrites plus en détail que le livre, et je suis devenu capable de comprendre le multitraitement que je ne comprenais pas hier, et j'ai senti l'importance de la documentation.

Les références

"Introduction à Python3 par Bill Lubanovic (publié par O'Reilly Japon)"

Recommended Posts

[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.1-8.2.5)
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.3-8.3.6.1)
[Introduction à Python3 Jour 19] Chapitre 8 Destinations de données (8.4-8.5)
[Introduction à Python3 Day 18] Chapitre 8 Destinations de données (8.3.6.2 à 8.3.6.3)
[Introduction à Python3 Jour 13] Chapitre 7 Chaînes de caractères (7.1-7.1.1.1)
[Introduction à Python3 Jour 15] Chapitre 7 Chaînes de caractères (7.1.2-7.1.2.2)
[Introduction à Python3 Day 21] Chapitre 10 Système (10.1 à 10.5)
[Introduction à Python3, jour 22] Chapitre 11 Traitement parallèle et mise en réseau (11.1 à 11.3)
[Introduction à Python3 Jour 11] Chapitre 6 Objets et classes (6.1-6.2)
[Introduction à Python3, Jour 23] Chapitre 12 Devenir un Paisonista (12.1 à 12.6)
[Introduction à Python3 Jour 20] Chapitre 9 Démêler le Web (9.1-9.4)
[Introduction à Python3 Jour 8] Chapitre 4 Py Skin: Structure du code (4.1-4.13)
[Livre technique] Introduction à l'analyse de données avec Python -1 Chapitre Introduction-
[Introduction à Python3 Jour 1] Programmation et Python
[Introduction à Python3 Jour 2] Chapitre 2 Composants Py: valeurs numériques, chaînes de caractères, variables (2.1)
[Introduction à Python3 Jour 4] Chapitre 2 Composants Py: valeurs numériques, chaînes de caractères, variables (2.3.7 à 2.4)
Introduction à la vérification de l'efficacité Chapitre 1 écrit en Python
[Introduction au Data Scientist] Bases de Python ♬
[Introduction à Python3 Jour 7] Chapitre 3 Outils Py: Listes, Taples, Dictionnaires, Ensembles (3.3-3.8)
[Introduction à Python3 Jour 10] Chapitre 5 Boîte cosmétique de Py: modules, packages, programmes (5.4-5.7)
[Introduction à Python3 Jour 9] Chapitre 5 Boîte cosmétique de Py: modules, packages, programmes (5.1-5.4)
[Introduction à Python3 Jour 6] Chapitre 3 Liste des outils Py, tapple, dictionnaire, set (3.2.7-3.2.19)
Introduction au langage Python
Introduction à OpenCV (python) - (2)
Introduction à la vérification de l'efficacité Chapitre 3 écrit en Python
[Introduction à Python] Comment gérer les données au format JSON
Introduction à la vérification de l'efficacité Chapitre 2 écrit en Python
Introduction à Python Django (2) Win
Python pour l'analyse des données Chapitre 4
[Chapitre 5] Introduction à Python avec 100 coups de traitement du langage
Note de lecture: Introduction à l'analyse de données avec Python
Introduction à la communication série [Python]
[Chapitre 3] Introduction à Python avec 100 coups de traitement du langage
[Chapitre 2] Introduction à Python avec 100 coups de traitement du langage
[Introduction à Python] <liste> [modifier le 22/02/2020]
Python pour l'analyse des données Chapitre 2
Introduction à Python (version Python APG4b)
Une introduction à la programmation Python
Introduction à Python pour, pendant
Python pour l'analyse des données Chapitre 3
[Chapitre 4] Introduction à Python avec 100 coups de traitement du langage
20200329_Introduction à l'analyse de données avec Python 2nd Edition Personal Summary
[Introduction to Data Scientists] Bases de Python ♬ Fonctions et classes
[Introduction à Python] Combinaison des données Nikkei Average et NY Dow CSV
[Python] Introduction à la création de graphiques à l'aide de données de virus corona [Pour les débutants]
[Introduction à Python] Comment obtenir des données avec la fonction listdir
[Présentation de l'application Udemy Python3 +] 58. Lambda
[Présentation de l'application Udemy Python3 +] 31. Commentaire
[Python] Comment FFT des données mp3
Cours de formation Data Scientist Chapitre 2 Jour 2
Introduction à la bibliothèque de calcul numérique Python NumPy
Entraine toi! !! Introduction au type Python (conseils de type)
Cours de formation Data Scientist Chapitre 3 Jour 3
Cours de formation Data Scientist Chapitre 4 Jour 1
[Présentation de l'application Udemy Python3 +] 57. Décorateur
Cours de formation Data Scientist Chapitre 3 Jour 1 + 2
[Introduction à Python] Comment analyser JSON
[Présentation de l'application Udemy Python3 +] 56. Clôture
Introduction à Protobuf-c (langage C ⇔ Python)
[Présentation de l'application Udemy Python3 +] 59. Générateur
[Introduction à Python] Utilisons les pandas