Google Query Language , o GQL , è il linguaggio SQL -like costruito in libera " App Engine " piattaforma Web di Google. Per molti aspetti, la sua sintassi è simile a SQL , Structured Query Language utilizzato dalla maggior parte dei pacchetti di database , tuttavia ha alcune delle sue peculiarità proprie in base al modo in cui i dati di Google memorizza . A causa della complessità della piattaforma App Engine di Google , questo articolo non può coprire come impostare il proprio programma di App Engine . Si presuppone che un programma di App Engine esistente e si desidera sapere che cosa GQL codice può essere inserito per recuperare i dati dal database di App Engine . Una trattazione approfondita sulla creazione di un'applicazione App Engine entro il quale è possibile eseguire i comandi SQL di Google è disponibile ( vedi Risorse ) . Si assumerà il database App Engine contiene un modello chiamato "Libro" , che contiene la stringa "Titolo" e un riferimento alla stringa " Autore ". Istruzioni
1
incolla il seguente testo nel codice dell'applicazione App Engine per recuperare tutti i libri nel database e stamparli tutti fuori per l'utente quando viene richiesta l' dati :
interrogazione
= GqlQuery ( "SELECT * FROM book" ) per
per prenotare in ricerca:
stampa book.Title
stampa book.Author
Si può accorciare questo un po ' sostituendo la query con il seguente comando:
query = Book.all ( ) per
Tuttavia , questo può diventare ingombrante rapidamente , in modo da poter utilizzare il comando WHERE per limitare il risultati solo a quei voluta
2
Incollare il seguente per recuperare solo i titoli dei libri scritti da " Stephen king" : .
interrogazione
= GqlQuery " Titolo PRESCELTO da libro dove Autore = : autore " , author = " Stephen king " ) per
Due cose sono diverse in questa query : in primo luogo , il comando WHERE induce a recuperare solo i risultati in cui l'autore era Stephen King . Allo stesso tempo , il "*" dopo aver selezionato è stato sostituito con il nome del campo aveva bisogno : " . Titolo "
Proprio come nel passo 1, questo comando può essere abbreviato , anche se restituirà tutti i risultati :
interrogazione
= Book.gql ( "WHERE Autore = : autore " , author = " Stephen king" ) per
Il codice di cui sopra è funzionale , ma l' App Engine Google addebita ai propri clienti in base a risorse del computer utilizzato , e sono un po ' inefficiente
3
incolla quanto segue per accelerare il vostro codice : .
query = GqlQuery ( "SELECT __ key__ dal libro WHERE Autore = : autore " , author = " Stephen king " ) per
per b in ricerca:
libro = Book.get ( b ) per
stampa book.Title
< p > Con la scelta di recuperare solo __ key__ dati , la GqlQuery esegue drammaticamente più veloce . Si consiglia di eseguire il maggior numero possibile di query recuperando solo i dati essenziali .