Google Query Language , ou GQL , est le langage SQL -like intégré libre » App Engine " plate-forme Web de Google. Dans la plupart des égards, sa syntaxe est similaire à SQL, le Structured Query Language utilisé par la plupart des logiciels de base de données , mais il a quelques-uns de ses propres caprices basé sur la façon dont les données de Google magasins. En raison de la complexité de la plate-forme Google App Engine , cet article ne peut pas couvrir comment mettre en place votre propre programme d' App Engine . Il suppose que vous avez un programme d' App Engine existant et que vous souhaitez savoir quel code GQL peut être inséré pour extraire des données de la base de données App Engine . Un traitement en profondeur sur la mise en place d'une application App Engine dans lequel vous pouvez exécuter des commandes SQL Google est disponible (voir Ressources) . Il assumera la base de données App Engine contient un modèle nommé "Livre" qui contient la chaîne «Titre» et une référence à la chaîne « Auteur ». Instructions
1
collez le texte suivant dans votre code d'application App Engine pour récupérer tous les livres dans la base de données et imprimez-les tout en œuvre pour l'utilisateur lorsque les données sont demandées :
requête
= GqlQuery ("SELECT * FROM Book" )
pour le livre en question :
impression book.Title
impression book.Author
Vous pouvez raccourcir cela un peu en remplaçant la requête avec la commande suivante à la place :
query = Book.all ()
Toutefois, cela peut devenir difficile à manier rapidement , de sorte que vous pouvez utiliser la commande WHERE pour limiter la résultats à ceux correspondant désiré
2
Collez le texte suivant pour récupérer uniquement les titres des livres écrits par des " Stephen King" : .
requête
= GqlQuery " SELECT titre FROM livre où Auteur = : auteur " , author =" Stephen King " )
Deux choses sont différentes dans cette requête : d'abord, la commande WHERE amène à récupérer uniquement les résultats où l'auteur est Stephen King . Dans le même temps , le "*" après SELECT a été remplacé par le nom du champ nécessaire : " . Title"
Tout comme à l'étape 1 , cette commande peut être raccourcie , mais il sera de retour tous les résultats : Photos requête
= Book.gql ( "WHERE Auteur = : auteur " , author = " Stephen King" )
le code ci-dessus est fonctionnel, mais le Google App Engine facture à ses clients basé sur ressources informatiques utilisées , et ils sont légèrement inefficace
3
Collez le texte suivant pour accélérer votre code .
query = GqlQuery ("SELECT __ key__ FROM livre où Auteur = : auteur " , author =" Stephen King " )
pour b dans la requête :
livre
= Book.get ( b )
impression book.Title
< p> En choisissant de ne récupérer que __ key__ données, le GqlQuery effectue beaucoup plus rapidement . Vous devez effectuer autant de requêtes que possible en récupérant uniquement les données clés.