Sheba

Sheba SQL - SQL für normale Menschen
Jetzt downloaden

Sheba Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • MIT/X Consortium Lic...
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Paul J. Davis

Sheba Stichworte


Sheba Beschreibung

Sheba SQL - SQL für normale Menschen SBBA bietet SQL-Management für Personen an, die nicht bemühen, dass SQL.Motivationsi SQL schneller schreiben kann, als ich die verschiedenen Bibliotheks- und ORM-Abstraktionsschichten herausfinden kann. Das Schreiben von SQL direkt im Code ist ziemlich ekelhaft. Also habe ich eine Idee aus der Axamol SQL-Bibliothek gestohlen und haben zusammen mit ein paar Updates diese Bibliothek erstellt. Was ist es? Erstens sind wir einige grundlegende Abfragedefinitionen in Betracht: Erstellen von Tabellenrollen (Szenext, Name Text, Schauspielertext, einzigartig (Szene, Name)) --- Name: Add_rolType: UpdateQL: | Einfügen in Rollen (Szene, Name, Schauspieler) Werte ($ {Szene}, $ {Name}, $ {Actor}) --- Name: LIST_ROLESSQL: | Name auswählen, Schauspieler aus Rollen Reihenfolge nach Namen ascthis ist eine YAML-Datei, die ein paar Abfragen für die Arbeit mit einer einfachen Tabelle definiert, die Szenen, Rollen und Akteure auflistet. Dies ist der Inhalt des ./test/yaml/conn-queries.yaml, der in ein paar der Testfälle verwendet wird, falls Sie neugierig sind.Now, um diese in einem Code zu verwenden: >>> Import Sheba >>> lib = sheba.library.from_file ('test / yaml / conn-fragen.yaml') >>> conn = sheba.connect (lib, 'sqlite3' ',': Speicher: ') Nun, da wir eine Verbindung haben, können wir erstellen Die Rollen Tabelle: >>> conn.u.create_roles_table () - 1Der -1 ist auf DDL-Anweisungen zurückzuführen, die keine Zeileninformationen zurückgeben. Ich könnte technisch eine dritte Klasse von Statement-Typen erstellen, also vermeiden Sie dies, aber in der nicht ertbaren Welt Skizze ", Name =" Herr Praline ", Schauspieler =" John Cleese ") 1 >>> conn.u.add_role (Szene =" Papageiskizze ", Name =" Shop-Besitzer ", Schauspieler =" Machale Palin ") 1> >> conn.u.add_role (Szene = "Papageiskizze", Name = "Dead Parrot", Schauspieler = "Gefälschter Papagei" 1Yep, es ist so einfach. Und schließlich werden wir die Rollen in der Tabelle auflisten: >>> für Zeile in conn.q.list_roles (): ... drucken "Name:% (Name) s Schauspieler:% (Schauspieler) S"% Zeile. .. Nur Name und SQL sind absolut erforderlich. Die vollständige Liste der Attribute lautet: * Name - der Name, der verwendet wird, um diese Abfrage von Python * DESC zu verweisen - eine Erklärung der Abfrage zur Dokumentation. * Typ - Abfrage oder Aktualisierung. Standardeinstellungen zur Abfrage. * DBS - Eine Liste der Datenbanknamen, mit der diese SQL funktioniert. Der Standardwert ist keiner, der als "Verwenden dieser Abfrage verwenden, wenn keine SQL für die aktuelle Verbindungsdatenbankverbindung definiert wurde." * SQL - Die eigentliche Abfrage. SQL wird durch Mako mit dem Zugriff auf alle Parameternamen übergeben, die der Abfrage bereitgestellt wurden. Um einen Parameter in einer Abfrage zu binden, drucken Sie einfach den Wert mit Standard-Mako-Syntax wie $ {my_parameter_name}. Sheba ersetzt es automatisch durch die ordnungsgemäße Bind-Variable-Syntax und leitet den mitgelieferten Wert auf die Datenbankverbindung an. Es erscheint auf den ersten Blick möglicherweise, dass die dynamischen Abfragen Parameterwerte direkt in die SQL schreiben. Sie sind nicht. Die tatsächlichen Werte, die in den Template-Kontext übergeben wurden, sind UUIDs, die durch BIND-Parameter-Syntax ersetzt werden, die Ihrem Datenbank-Treiber angemessen ist. Wenn Sie sich fragen, "was ist, wenn ich den tatsächlichen Wert will?" Sie sollten alle Ihre SQL-Injektionsanfälligkeiten beheben. Anforderungen: · Python


Sheba Zugehörige Software