Skip to content

Beste ORM-SQL-Bibliothek für Python

Dieses Problem kann auf verschiedene Weise angegangen werden, aber wir zeigen Ihnen die für uns umfassendste Lösung.

Lösung:

SQL-Bibliotheken werden mit relationalen Datenbanken verwendet. In einer relationalen Datenbank werden die Daten in verschiedenen Tabellen gespeichert, die jeweils mehrere Datensätze enthalten. Diese Tabellen sind durch eine oder mehrere Relationen miteinander verbunden.

Sehen wir uns die besten SQL-Bibliotheken an, mit denen man in Python arbeiten kann

Peewee .

#

Peewee ist ein einfaches und kleines ORM. Es hat wenige (aber aussagekräftige) Konzepte, wodurch es leicht zu erlernen und intuitiv zu benutzen ist.

  • ein kleines, ausdrucksstarkes ORM
  • python 2.7+ und 3.4+ (entwickelt mit 3.6)
  • unterstützt sqlite, mysql, postgresql und cockroachdb
  • Tonnen von Erweiterungen

So installieren Sie peewee

pip install peewee

Grundlegende Verwendung:

from peewee import*

db = SqliteDatabase('people.db')classPerson(Model):
    name = CharField()
    birthday = DateField()classMeta:
        database = db # This model uses the "people.db" database.

Django ORM

#

Das Django ORM ist die Schnittstelle, die von Django für den Datenbankzugriff verwendet wird.

Es basiert auf der Idee von Modellen, einer Abstraktion, die es einfacher macht, Daten in Python zu manipulieren.

Die Grundlagen:

  • Jedes Model ist eine Python-Klasse, die eine Unterklasse von django.db.models.Model ist.
  • Jedes Attribut des Modells repräsentiert ein Datenbankfeld.
  • Django bietet eine automatisch generierte Datenbank-Zugriffs-API

Zum Installieren:

pip install django

Datensätze

#

Datensätze ist eine sehr einfache, aber leistungsfähige Bibliothek für rohe SQL-Abfragen an die meisten relationalen Datenbanken.

Schreiben Sie einfach SQL. Kein Schnickschnack, kein Schnickschnack. Diese allgemeine Aufgabe kann mit den verfügbaren Standardwerkzeugen überraschend schwierig sein. Diese Bibliothek ist bestrebt, diesen Arbeitsablauf so einfach wie möglich zu gestalten und gleichzeitig eine elegante Schnittstelle für die Arbeit mit Ihren Abfrageergebnissen bereitzustellen.

Die Datenbankunterstützung umfasst RedShift, Postgres, MySQL, SQLite, Oracle und MS-SQL (Treiber nicht enthalten).

So installieren Sie Records:

pipenv install records[pandas]

Feature .

  • Iterierte Zeilen werden für zukünftige Referenzen zwischengespeichert.
  • Unterstützung der Umgebungsvariablen $DATABASE_URL.
  • Komfortable Methode Database.get_table_names.
  • Befehlszeilen-Datensatz-Werkzeug für den Export von Abfragen.
  • Sichere Parametrisierung: Database.query('life=:everything', everything=42).
  • Abfragen können als Strings oder Dateinamen übergeben werden, Parameter werden unterstützt.
  • Transaktionen: t = Database.transaction(); t.commit().
  • Bulk-Aktionen: Database.bulk_query() & Database.bulk_query_file().-

SQLAlchemy .

#

SQLAlchemy ist das Python SQL Toolkit und Object Relational Mapper, das Anwendungsentwicklern die volle Leistungsfähigkeit und Flexibilität von SQL bietet.
Es bietet eine vollständige Suite von bekannten Persistenzmustern auf Unternehmensebene, die für einen effizienten und leistungsstarken Datenbankzugriff entwickelt wurden, angepasst an eine einfache und pythonische Domänensprache.

Im Gegensatz zu vielen Datenbankbibliotheken bietet es nicht nur eine ORM-Schicht, sondern auch eine gemeinsame API, und Sie können datenbankunabhängigen Code schreiben, ohne SQL zu verwenden.

Um SQLAlchemy zu installieren, führen Sie den Befehl aus:

pip install records

Pugsql .

#

PugSQL ist eine einfache Python-Schnittstelle zur Verwendung von parametrisiertem SQL in Dateien.

Zum Installieren:

pip install pugsql

Grundlegende Verwendung:

import pugsql

# Create a module of database functions from a set of sql files on disk.
queries = pugsql.module('resources/sql')# Point the module at your database.
queries.connect('sqlite:///foo.db')# Invoke parameterized queries, receive dicts!
user = queries.find_user(user_id=42)# -> { 'user_id': 42, 'username': 'mcfunley' }

Im obigen Beispiel würde die Abfrage wie folgt spezifiziert werden:

--:name find_user :one
select *from users where user_id =:user_id

PonyORM

#

Pony ist ein fortgeschrittener objekt-relationaler Mapper. Das interessanteste Merkmal von Pony ist seine Fähigkeit, Abfragen an die Datenbank mit Python-Generatorausdrücken und Lambdas zu schreiben. Pony analysiert den abstrakten Syntaxbaum des Ausdrucks und übersetzt ihn in eine SQL-Abfrage.

Installation:

pip install pony

Abschnitt Rezensionen und Bewertungen


Tags : /

Nutzen Sie unsere Suchmaschine

Suche
Generic filters

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.