Google Query Language , ou GQL , é a linguagem SQL -like construído em plataforma web "App Engine" gratuito do Google . Na maioria dos aspectos , a sua sintaxe é semelhante à SQL , Structured Query Language usado pela maioria dos pacotes de banco de dados, no entanto, tem alguns de seus próprios caprichos com base na maneira armazena dados do Google. Devido à complexidade da plataforma Google App Engine , este artigo não pode cobrir como configurar seu próprio programa do App Engine . Ele pressupõe que você tenha um programa do App Engine existente e gostaria de saber o código GQL pode ser inserido para recuperar dados do banco de dados do Google App Engine . Um tratamento em profundidade sobre a criação de um aplicativo do Google App Engine no qual você pode executar comandos SQL Google está disponível (consulte Recursos) . Ele vai assumir o seu banco de dados do Google App Engine contém um modelo chamado "Livro ", que detém a cadeia " Título " e uma referência para a seqüência " Autor ". Instruções
um
Cole o seguinte texto para o código do aplicativo do Google App Engine para recuperar todos os livros no banco de dados e imprimi-los de tudo para o usuário quando os dados são solicitados :
consulta = GqlQuery ( "SELECT * FROM book" )
para o livro em consulta:
imprimir book.Title
impressão book.Author
Você pode encurtar isso um pouco , substituindo a consulta com o seguinte comando:
query = Book.all ()
no entanto , isso pode ficar pesado rapidamente, para que você possa usar o ONDE comando para limitar o . resultados para somente aqueles desejado
2
cole o seguinte para recuperar apenas os títulos dos livros escritos por " Stephen King " :
query = GqlQuery "SELECT Título do livro ONDE Author = : autor " , author = " Stephen King " )
Duas coisas são diferentes nesta consulta : primeiro, o comando onde faz com que ele só recuperar resultados , onde o autor foi Stephen King. Ao mesmo tempo , o " * " após SELECCIONAR foi substituído com o nome de campo necessário : . " Título "
Assim como no Passo 1 , este comando pode ser reduzido , embora ela retorne todos os resultados :
query = Book.gql ( "ONDE Author = : autor " , author = " Stephen King " )
o código acima é funcional, mas o Google App Engine cobra de seus clientes com base em recursos computacionais utilizados , e eles são um pouco ineficiente
3
cole o seguinte para acelerar o seu código: .
query = GqlQuery ( "SELECT __ key__ do livro ONDE Author = : autor " , author = " Stephen King " )
por b em consulta:
livro = Book.get ( b)
impressão book.Title
ao optar por recuperar apenas __ dados key__ , o GqlQuery realiza dramaticamente mais rápido . Você deve executar o maior número de consultas possíveis , recuperando apenas os dados -chave.