SQL_INTERP.

Interpolate Python-Variablen in SQL-Anweisungen.
Jetzt downloaden

SQL_INTERP. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • MIT/X Consortium Lic...
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Michael Hampton
  • Website des Verlags:
  • http://bitbucket.org/mirhampt/

SQL_INTERP. Stichworte


SQL_INTERP. Beschreibung

Interpolate Python-Variablen in SQL-Anweisungen. SQL_InterP ermöglicht es, Python-Variablen in SQL sicher in SQL zu interpolieren, basierend auf dem Kontext. Die meiste Interaktion mit diesem Paket erfolgt über die SQLInterP-Klasse: >>> von SQL_Interp Import SQLInterP >>> Person = {'Last_Name': 'doe'} >>> Kriterien = {'First_Name': } # Erstellen Sie eine Instanz von SQLInterP und verwenden Sie die InterP-Methode, um die SQL-Methode zu erhalten, um die SQL- und Bind-Bindung zu erhalten Set ", Person,", wobei ", Kriterien) ('Update-Leute eingestellt Last_Name =? Wohin First_Name in (?,?)', ('Doe', 'jane', 'john')) casedsql_interp arbeitet, indem Sie angenommen werden, dass keiner nicht vorhanden ist -Ring-Variablen, die an INTERP übergeben wurden, müssen als Bindvariablen behandelt werden. Dies bedeutet, dass ein belegte Argumente bestanden, an denen Saiten als rohe SQL behandelt werden. Wenn Sie nicht vorsichtig sind, kann dies zu einem SQL-Injektionsangriff führen. Um dies zu vermeiden, wenn eine Chance überhaupt eine Variable ein Zeichenfolge ist, müssen Sie SQL_INTERP mitnehmen, dass es nicht roh SQL ist. Sie können dies mit der ESC-Methode des SQLInterP-Objekts tun. Hier ist ein Beispiel: >>> SQLI = SQLInterP () >>> First_Name = 'John' # Folgendes ist falsch! Dies könnte zu einem SQL-Injektionsangriff führen. >>> SQLI.Interp ("Wählen Sie * aus der Tabelle, in der First_Name =", First_Name) ('Wählen Sie * aus der Tabelle, in der First_Name = John', ()) # Dies ist der richtige Weg. >>> SQLI.InterP ("SELECT * aus der Tabelle, wo First_Name =", SQLI.ESC (First_Name)) ('Wählen Sie * aus der Tabelle, in der First_Name =?', ('John',)) Dies gilt nicht, wenn die Zeichenfolge nicht angezeigt wird ist ein Wert in einer Liste oder einem Wörterbuch wie in den anderen Beispielen in dieser Dokumentation ] >>> SQLI.InterP ("Aktualisieren Sie die Leute einstellen Alter =", Alter, "Wo First_Names in", First_Names) ('Update Personen eingestelltes Alter =? Wo, wo First_Names in (?,?,?)', (25, ' Jenny ',' John ',' Jeremy ')) Interpolation ist kontextsensitiv, sodass derselbe Typ für seine Verwendung in SQL interpretiert wird: >>> Punk_Rockers = {' hair ':' pink ',' tattoos ':' drei '} >>> Zubehör = {' Piercings ': 6,' Hosen ':' Vinyl '} >>> SQLI.InterP ("Aktualisierung der Personen einstellen", ACC Essagen, "wo", punk_Rockers) ('Update-Leute setzen Pants =?, Piercings =? Wo haare =? Und Tattoos =? ', (' Vinyl ', 6,' Pink ',' Three ')) Bestätigungsthis-Projekt ist ein indirekter Anschluss von Perls SQL :: Interp. Anforderungen: · Python


SQL_INTERP. Zugehörige Software