Google Query Language eller GQL er den SQL -lignende sprog indbygget i Googles gratis " App Engine " Web platform. I de fleste henseender er dens syntaks ligner SQL, Structured Query Language bruges af de fleste database -pakker , men det har et par af sine egne særheder baseret på den måde Google gemmer data . På grund af kompleksiteten af Google App Engine platform , kan denne artikel ikke dække, hvordan man oprette din egen App Engine program. Det forudsætter, at du har en eksisterende App Engine program og ønsker at vide, hvad GQL kode kan indsættes for at hente data fra App Engine databasen. En dybdegående behandling på oprettelse af en App Engine program inden for hvilken man kan køre Google SQL -kommandoer er til rådighed (se Resources). Det vil antage din App Engine database indeholder en model med navnet " Bog" , som holder strengen "Titel" og en henvisning til strengen " Author ". Instruktioner
1
Indsæt følgende tekst i dit App Engine ansøgning kode til at hente alle de bøger i databasen og udskrive dem alle ud til brugeren, når der anmodes om data : Hej
query = GqlQuery ( "SELECT * FROM bog" )
for bogen i forespørgslen : Hej
print book.Title
print book.Author
p Du kan forkorte dette en smule ved at erstatte forespørgslen med følgende kommando i stedet : Hej
query = Book.all ()
Men dette kan få uhåndterlige hurtigt, så du kan bruge WHERE kommandoen til at begrænse resultater til kun dem ønskede
2
Indsæt følgende for at hente kun titlerne på bøger skrevet af " Stephen King" : .
query = GqlQuery "SELECT titel FROM Bog WHERE Author = : Forfatter ", author =" Stephen King " )
To ting er anderledes i denne forespørgsel : For det første hvor kommando får den til kun at hente resultater, hvor forfatteren var Stephen King. Samtidig har "*" efter SELECT blevet erstattet med navnet på feltet nødvendige: " . Titel "
Ligesom i trin 1 , kan denne kommando afkortes , selvom det vil returnere alle resultater : Hej
query = Book.gql ( " WHERE Author = : forfatter ", author = " Stephen King" )
ovenstående kode er funktionel, men Google App Engine opkræver sine kunder baseret på computerens ressourcer brugt, og de er lidt ineffektive
3
Indsæt følgende for at fremskynde din kode : .
query = GqlQuery ( "SELECT __ key__ fra bog WHERE Author = : Forfatter ", author =" Stephen King " )
for bi forespørgsel : Hej
bog = Book.get ( b )
print book.Title
< p> Ved at vælge kun at hente __ key__ data , udfører GqlQuery dramatisk hurtigere. Du skal udføre så mange forespørgsler som muligt ved at hente kun de vigtigste data .