Google Query Language , of GQL , is de SQL - achtige taal ingebouwd in Google's gratis " App Engine " webplatform . In de meeste opzichten , de syntax is vergelijkbaar met SQL , de Structured Query Language wordt gebruikt door de meeste database- pakketten , maar het heeft een paar van zijn eigen eigenaardigheden op basis van de manier waarop Google gegevens opslaat . Vanwege de complexiteit van de Google App Engine -platform , kan dit artikel geen betrekking op hoe u uw eigen App Engine -programma . Het veronderstelt u een bestaande App Engine -programma en willen weten wat GQL code kan worden geplaatst om gegevens uit de App Engine database op te halen . Een diepgaande behandeling over het opzetten van een App Engine applicatie waarbinnen u Google SQL-commando's kan uitvoeren is beschikbaar ( zie bronnen ) . Het zal aannemen uw App Engine -database bevat een model genaamd " Boek " , die de string " Title " en een verwijzing naar de string houdt " Author . " Instructies 1 Plak de volgende tekst in uw App Engine applicatie code om alle boeken te halen in de database en print ze allemaal uit aan de gebruiker wanneer de gegevens worden opgevraagd : vraag = GqlQuery ( " SELECT * FROM Boek " ) op Twitter te boeken in de zoekopdracht : afdruk book.Title afdruk book.Author U kunt verkorten dit een beetje bij het vervangen van de vraag met het volgende commando in plaats daarvan : vraag = Book.all ( ) op dit kan echter snel onhandelbaar , zodat u kunt gebruik maken van het WHERE commando om het te beperken resultaten om alleen die gewenste kopen van 2 Plak volgende om alleen de titels van boeken geschreven door " Stephen King" te halen : . vraag = GqlQuery " SELECT titel FROM boeken WHERE Author = : author " , author = " Stephen King " ) op Twitter Twee dingen zijn verschillend in deze query : ten eerste, het WHERE commando zorgt ervoor dat het alleen resultaten waar de auteur was Stephen King halen . Tegelijkertijd heeft de " * " na SELECT vervangen door de naam van het veld nodig: " . Title" Net als in stap 1 , kan deze opdracht worden ingekort , maar het alle resultaten oplevert : vraag = Book.gql ( " WAAR Author = : author " , author = " Stephen King" ) op Twitter de bovenstaande code is functioneel , maar de Google App Engine zijn klanten aanrekent op basis van computer gebruikte middelen , en ze zijn iets inefficiënt 3 Plak volgende om de snelheid van je code : . vraag = GqlQuery ( " SELECT __ key__ FROM boeken WHERE Author = : author " , author = " Stephen King " ) op Twitter voor b in de zoekopdracht : boek = Book.get ( b ) afdruk book.Title Door te kiezen voor alleen __ key__ gegevens op te halen , de GqlQuery presteert aanzienlijk sneller . Je moet zo veel query's mogelijk te presteren door het ophalen van alleen de belangrijkste gegevens .
|