So betreiben Sie eine MySQL-Datenbank mit dem ORM-Modell-Framework

So betreiben Sie eine MySQL-Datenbank mit dem ORM-Modell-Framework

Was ist ORM?

ORM steht für Object Relational Mapping, was so viel bedeutet wie objektrelationale Abbildung. Es kann allgemein als virtuelle Datenbank einer Programmiersprache verstanden werden.

ORM verstehen

Zuordnung zwischen Datenbanktabelle mit Benutzeradressinformationen und Objekten

【Wichtige Funktionen von ORM】

1. Objektorientiertes Programmierkonzept, leicht zu erweitern

2. Schreiben Sie weniger (fast kein) SQL, um die Entwicklungseffizienz zu verbessern

3. Unterstützt verschiedene Datenbanktypen (häufig verwendetes MySQL, PG, Oracle usw.), einfacher Wechsel

4. Die ORM-Technologie ist bereits recht ausgereift und kann die meisten Probleme lösen

[Auswahl des ORM-Modellrahmens]

SQLAlchemy ORM-Modell

Wie wir alle wissen, stehen viele ORM-Framework-Modelle zur Auswahl, deshalb haben wir uns hier für das SQLAlchemy-Modell-Framework entschieden.

pip install SQLAlchemy install sql alchemy; Sie können auch die Versionsnummer angeben pip install SQLAlchemy ==1.4.17

importiere sqlalcherm; sqlalchemy.__version__; Überprüfen Sie, ob die Installation erfolgreich war und die Versionsnummer;

[Verwendung von SQL Alchemy]

1. Verbindung zur Datenbank herstellen 2. Basisklasse des ORM-Modells deklarieren 3. ORM-Modellklasse implementieren 4. Datenbanktabelle synchronisieren

Verbinden mit der Datenbank

  • Lazy Connecting - Stellen Sie nur dann eine Verbindung zur Datenbank her, wenn Sie die Datenbank tatsächlich betreiben
  • Beispiel für einen Verbindungscode
von sqlalchemy importiere create_engine

create_engine("mysql://root:@127.0.0.1:3306/school?charset=utf8,echo=True,future=True")

create_engine Parameter Erklärung

  1. URL (standardmäßig erster Parameter) - mit welcher Art von Datenbank eine Verbindung hergestellt werden soll, z. B. MySQL; welcher Datenbank-Connector (Treiber) für die Verbindung mit der Datenbank verwendet werden soll
  2. echo - Ob Protokollinformationen ausgegeben werden sollen, alle Protokolle werden ausgedruckt
  3. Future verwendet den SQLAlchemy 2.0 API-Stil

SQLAlchemy-Konfiguration

Was tun, wenn das Passwort Sonderzeichen enthält?

Ohne weitere Umschweife, siehe den Code unten

von urllib.parse importiere quote_plus
Wenn das Passwort Sonderzeichen enthält, müssen Sie eine Klasse importieren, die diese verarbeitet password_formatted = quote.plus("mima%&&&mima")
Fügen Sie das verarbeitete Passwort in die obige SQLAlchemy-Konfiguration ein.

Deklarieren Sie die Basisklasse des ORM-Modells

aus sqlalchemy.orm importiere declarative_base

Deklarieren Sie diese Basisklasse Base = declarative_base()

Implementierung der ORM-Modellklasse

Wie erreicht man das? Wir müssen eine Klasse schreiben, um es zu erben.

Dann müssen Sie 1 Attribut einrichten

von sqlalchemy importiere Spalte, Ganzzahl, Zeichenfolge, Datum/Uhrzeit


Klasse Student (Basis):
    """Studenteninformationsformular"""
    __tablename__ = "Student"
    id = Spalte (Ganzzahl, Name = "id", Primärschlüssel = True)
    stu_no = Spalte (Integer, nullwertfähig=Falsch, Kommentar='Matrikelnummer')
    stu_name = Spalte(String(16), nullwertfähig=Falsch, Kommentar='Name')
    erstellt am = Spalte (Datum/Uhrzeit)

1. Sie müssen vor der Synchronisierung sicherstellen, dass die Datenbank vorhanden ist. Wenn nicht, müssen Sie sie manuell erstellen.

2 Tabelle erstellen, Tabelle löschen

von orm_connect_example importiere Base, Engine

# Tabelle erstellen Base.metadata.create_all(engine)

#Tabelle löschen Base.metadata.drop_all(engine)

[Modellfeldtyp entsprechend ORM]

Codebeispiel

von sqlalchemy importiere create_engine
aus sqlalchemy.orm importiere declarative_base
von sqlalchemy importiere Spalte, Ganzzahl, Zeichenfolge, Datum/Uhrzeit

# Der erste Schritt besteht darin, die Verbindung vorzubereiten. engine = create_engine('mysql://root:@10.72.100.1:8081/test_database_1?charset=utf8',echo=True)

# Schritt 2: Deklarieren Sie die Basisklasse des ORM-Modells Base = declarative_base()


# Der dritte Schritt besteht darin, die ORM-Modellklasse class Student(Base) zu implementieren:
    """Studenteninformationsformular"""
    __tablename__ = "Student"
    id = Spalte (Ganzzahl, Name = "id", Primärschlüssel = True)
    stu_no = Spalte (Integer, nullwertfähig=Falsch, Kommentar='Matrikelnummer')
    stu_name = Spalte(String(16), nullwertfähig=Falsch, Kommentar='Name')
    erstellt am = Spalte (Datum/Uhrzeit)
#Der vierte Schritt besteht darin, die Datenbanktabelle def create_table() zu synchronisieren
    """Datenbanktabellen synchronisieren"""
    # Erstellen Sie eine neue Tabelle Base.metadata.create_all(bind=engine)
    # Tabelle löschen Base.metadata.drop_all(bind=engine)

Dies ist das Ende dieses Artikels über die Verwendung des ORM-Modell-Frameworks zum Betreiben der MySQL-Datenbank. Weitere relevante Inhalte zum ORM-Modell-Framework finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Einführung in das Laravel-Framework Eloquent ORM, Modellerstellung und detaillierte Erläuterung von Datenabfragevorgängen
  • Analyse der Verwendungsbeispiele für die objektorientierte ORM-Modellvererbung im Django-Framework
  • MySql verwendet DATE_FORMAT, um den Datumswert des DateTime-Felds abzufangen
  • Können Information_Schema und MySQL in der MySQL-Datenbank gelöscht werden?

<<:  30 hervorragende Beispiele für Farbabstimmung im Webdesign

>>:  Detaillierte Erläuterung der Lösung, um den Inhalt im Container im Flex-Layout zu halten

Artikel empfehlen

Empfehlen Sie einige nützliche Lernmaterialien für Neulinge im Webdesign

Viele Leute haben mich auch gefragt, welche Büche...

Vue ElementUI implementiert einen asynchronen Ladebaum

In diesem Artikelbeispiel wird der spezifische Co...

So ändern Sie die Systemsprache von CentOS7 in vereinfachtes Chinesisch

veranschaulichen Bei einer Eigeninstallation des ...

Verwendung des Linux-Befehls bzip2

1. Befehlseinführung bzip2 wird zum Komprimieren ...

CSS3-Radarscan-Kartenbeispielcode

Verwenden Sie CSS3, um coole Radar-Scan-Bilder zu...

Einführung in die Bereitstellung des Selenium-Crawler-Programms unter Linux

Inhaltsverzeichnis Vorwort 1. Was ist Selen? 2. N...

Vue realisiert die Funktion zum Hochladen von Fotos auf den PC

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung des MySQL-Triggerbeispiels

Inhaltsverzeichnis Was ist ein Auslöser Erstellen...

Linux implementiert den Quellcode des Zahlenratespiels

Ein einfacher Linux-Ratespiel-Quellcode Spielrege...

2017 neueste Version der Windows-Installation MySQL-Tutorial

1. Laden Sie zunächst die neueste Version von MyS...

Was sind die Unterschiede zwischen SQL und MySQL

Was ist SQL? SQL ist eine Sprache zum Betrieb von...

Zusammenfassung der Shell-Methode zum Bestimmen, ob eine Variable leer ist

So ermitteln Sie, ob eine Variable in der Shell l...

Erstellen einer verteilten Selenium-Umgebung basierend auf Docker

1. Laden Sie das Bild herunter Docker-Pull Seleni...