Sheeba

SHEBA SQL - SQL voor normale mensen
Download nu

Sheeba Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • MIT/X Consortium Lic...
  • Prijs:
  • FREE
  • Naam uitgever:
  • Paul J. Davis

Sheeba Tags


Sheeba Beschrijving

Sheba SQL - SQL voor normale mensen Sheba biedt SQL-management voor mensen die niet erg vinden SQL.MOTIVATIONI kan SQL sneller schrijven dan ik de verschillende bibliotheek- en ORM-abstractielagen kan achterhalen. Het schrijven van SQL direct in de code is behoorlijk walgelijk. Dus ik heb een idee gestolen uit de Axamol SQL-bibliotheek en samen met een paar updates hebben deze bibliotheek gemaakt. Wat is het? Ten eerste, we overwegen enkele basisquerydefinities: Naam: Create_Roles_Tabletype: UpdateQL: | Maak tabelrollen (scène tekst, naam tekst, acteur tekst, unieke (scène, naam) --- Naam: add_roletype: UpdatesQL: | Insert in rollen (scène, naam, acteur) waarden ($ {scène}, $ {naam}, $ {acteur}) --- Naam: LIST_ROLESSQL: | Selecteer Naam, Acteur van Rollen Bestel op naam ASCTHIS is een YAML-bestand dat een paarquery's definieert voor het werken met een eenvoudige tabel met scènes, rollen en acteurs. Dit is de inhoud van de ./test/yaml/conn-queries.yaml die wordt gebruikt in een paar van de testcases voor het geval u nieuwsgierig bent. Nu, om deze in een code te gebruiken: >>> IMPORT SHEBA >>> lib = sheba.library.from_file ('test / yaml / conn-queryies.yaml') >>> conn = sheba.connect (lib, 'sqlite3', ': geheugen:') Nu we een verbinding hebben, laten we maken De tabel Rollen: >>> conn.u.create_roles_table () - 1De -1 is te wijten aan DDL-verklaringen die geen rij-informatie retourneren. Ik zou technisch gezien een derde klasse van verklaringstypes kunnen creëren, dus vermijd dit, maar in de niet-doktestwereld kun je gewoon negeren dat retourwaarde.next We voegen een paar rijen: >>> conn.u.u.add_role (scène = "Parrot Schets ", naam =" Mr Praline ", acteur =" John Cleese ") 1 >>> conn.u.add_role (scène =" papegaai schets ", naam =" winkel eigenaar ", acteur =" machale palin ") 1> >> conn.u.add_role (scène = "papegaai schets", naam = "dode papegaai", acteur = "Fake Parrot") 1YEP, het is zo eenvoudig. En ten slotte zullen we de rollen in de tabel vermelden: >>> voor rij in conn.q.list_rolen (): ... afdrukken "Naam:% (naam) S Actor:% (acteur) s"% rij. .. Naam: Dode Parrot Acteur: Fake Parrot Naam: Mr Praline Acteur: John Cleese Naam: Winkel Eigenaar Acteur: Machale Palinas Ze zeggen: "Wicked Awesome." Mogelijke queryatributesthe Voorbeeld boven alleen gebruikte naam, type en SQL. Enige naam en SQL zijn absoluut vereist. De volledige lijst met kenmerken is: * Naam - de naam die wordt gebruikt om deze query te verwijzen van Python * Desc - een uitleg van de query voor documentatie. * Type - query of update. Standaardinstellingen om te vragen. * DBS - Een lijst met database-namen waarmee deze SQL zal werken. De standaardwaarde is geen die wordt geïnterpreteerd als "Gebruik deze query wanneer er geen SQL is gedefinieerd voor de huidige verbindingsdatabaseverbinding." * SQL - de eigenlijke query. SQL wordt door Mako doorgegeven met toegang tot parameternamen die aan de query beschikbaar waren. Om een parameter in een query te binden, drukt u de waarde af met standaard MAKO-syntaxis zoals $ {MY_PARAMETER_NAME}. Sheba zal het automatisch vervangen door de juiste bindvariabele syntaxis en geef de meegeleverde waarde door op de database-verbinding.Noteit kan op het eerste gezicht verschijnen dat de dynamische query's parameterwaarden rechtstreeks in de SQL schrijven. Zij zijn niet. De werkelijke waarden die zijn doorgegeven in de sjablooncontext zijn UUID's die worden vervangen door de syntaxis van bindparameters die geschikt zijn voor uw databasestuurprogramma. Als je jezelf vraagt, 'Wat als ik wil de werkelijke waarde? " U moet alle kwetsbaarheden van uw SQL-injectie losmaken. Vereisten: · Python


Sheeba Gerelateerde software