python ORM est utilisé pour faire fonctionner la base de données - la création d'une table d'association

A, description ORM:
complète; Object Relational Mapping objet-Relational Mapping
Mapping une classe en python comme la table de base de données, une classe est une table de mappage d'attributs, la classe de table pour le champ, le code python correspondant traduit en instruction SQL .

1, les avantages:

(1) réduire le couplage
(2), les développeurs ne doivent se concentrer sur la logique métier, les développeurs réduisent les efforts de développement

2, lacunes "

(1) réduire l'efficacité de la requête
(2), méthode ORM restreint, n'est pas facile d'écrire des requêtes complexes

3, installé
dans ORM python, SQLAlchemy à -dire, sur le modèle du cadre Django ORM
première installation pymysql, car elle est basée bibliothèque pymysql:
la ligne de commande:
PIP PyMySQL l'installation
PIP SQLAlchemy l'installation

Remarque: Si vous définissez la variable d'environnement n'est pas bonne commande pip répertoire script python n'est pas configuré avec des instructions dans le chemin environnement chemin variable

erreur de délai d'attente peut essayer cette commande à pépin:
Insérer ici l'image Description
Voici quelques conseils que j'ai installé, n'avait pas installé, s'il vous plaît se référer à la commande ci - dessus

Si les bibliothèques sqlalchemy sont installées sur la ligne de commande, mais PyCharm ne sont pas affichées, procédez comme suit, et
Insérer ici l'image Description
Insérer ici l'image Description
Insérer ici l'image Description
Insérer ici l'image Description
vous verrez que deux bibliothèques sur la ligne de commande pour l' installer

Ado, directement sur le code:
1, dans le module
Insérer ici l'image Description
2, et créer une connexion à la base de données:
Insérer ici l'image Description

Ici « mysql: // scott: tigre @ nom d' hôte / dbname », est expliqué dans la méthode create_engine, maintenez la touche CTRL + bouton gauche de la souris , vous pouvez aller voir la
Insérer ici l'image Description
recherche au début de l'URL mysql:
scott: Votre nom de données, ne pas retourner, puis il est la racine
Tiger: Mot de passe de la base de données
nom d' hôte: adresse ip
dbname: nom de la base

Ici, j'utilise une connexion de base de données locale:

db = sqlalchemy.create_engine ( « mysql: // root: 12345678 @ localhost / 1708A »)

3, créer une classe de base:
Insérer ici l'image Description
mettre le paramètre db pour faire juste une connexion de base de données, la valeur de retour est la base passé, utilisé pour créer la table

4, ajouter la table primaire associée à la classe de table:

Insérer ici l'image Description
Notez que, ici dans le tableau principal associé, seule façon Integer

5, créer le tableau:
Insérer ici l'image Description
dans la fonction principale, avec la classe de base .create_all .metadata () de manière à créer une table de tous les hérite de la classe de base

6, exécutez le code, voir les résultats dans la base de données:
Insérer ici l'image Description
Après avoir exécuté:
Insérer ici l'image Description

Résumé:
Avantages:
1, fonctionnement pratique, connecté python mysql mieux que classique avec ces (module pymysql)
2 en tant que programmeur utilisé pour écrire et répondre ORM plus agile pensé programmeurs
3, paquet construit , les opérations CLMS module faciles:
méthode de classe sessionmaker dans le module de classe seront -sqlalchemy.orm
4, la table principale en tant que table d'association, dans la base de données, effacer être supprimé uniquement après la fin de la table primaire associée à la table.
5, en utilisant ORM mode, le curseur est fermé et ne nécessite pas la base de données
6, besoin de se rappeler que la déclaration mysql sql comme, si seulement pour faire une opération simple, est le ORM préféré
7, après répété la création d' une table, il ne serait pas les données d' origine dans le tableau couverture, mais ne rien faire

Inconvénients:
1, associés à la table primaire associée à la table permet seulement l'utilisation mode entier, ne reconnaît pas associé chaîne
2, nécessite un certain python de base, doit être compris les classes, les relations d'héritage

Cet article provient du groupe de test automatisé: 762 141 168, s'il y a quelque chose de mal avec elle, bienvenue à explorer.
À côté de vous sur les opérations de CRUD ORM

Publié 10 articles originaux · louange gagné 13 · vues 402

Je suppose que tu aimes

Origine blog.csdn.net/weixin_46457203/article/details/104940540
conseillé
Classement