Google Query Language o GQL , es el lenguaje similar a SQL incorporado en libre " App Engine " plataforma de Internet de Google . En muchos aspectos, su sintaxis es similar a SQL, el lenguaje de consulta estructurado utilizado por la mayoría de los paquetes de base de datos , sin embargo, tiene algunas de sus propias peculiaridades en base a la forma en que almacena los datos de Google . Debido a la complejidad de la plataforma Google App Engine , este artículo no puede cubrir cómo configurar su propio programa de App Engine . Se supone que tiene un programa de App Engine existente y desea saber qué se puede insertar código GQL para recuperar datos de la base de datos de App Engine . Un tratamiento en profundidad sobre la configuración de una aplicación de App Engine en el que se pueden ejecutar comandos SQL de Google está disponible ( ver Recursos) . Asumirá su base de datos de App Engine contiene un modelo llamado " libro " que contiene la cadena " Title" y una referencia a la cadena " Autor ". Instrucciones
1
Pega el siguiente texto en el código de aplicación de App Engine para recuperar todos los libros en la base de datos e imprimir todo lo posible para el usuario cuando se solicita los datos :
consulta = GqlQuery ( "SELECT * FROM Book" )
para el libro de consulta:
impresión book.Title
impresión book.Author
puede acortar esto un poco reemplazando la consulta con el siguiente comando:
query = Book.all ()
Sin embargo , esto puede ser difícil de manejar con rapidez , para que puedas usar el comando where para limitar el resultados a sólo aquellos desea
2
Pega el siguiente para recuperar sólo los títulos de los libros escritos por " Stephen king" : .
GqlQuery query = " SELECT FROM Título libro DONDE Autor = : autor " , author = " Stephen king " )
Dos cosas son diferentes en esta consulta: en primer lugar, el dONDE comando hace que sólo recuperar los resultados cuyo autor Stephen King. Al mismo tiempo, el "* " después de SELECT ha sido reemplazado por el nombre del campo que se necesita: . " Title"
Al igual que en el paso 1 , este comando se puede acortar , aunque le proporcione todos los resultados :
query = Book.gql ( "WHERE = Autor : autor " , author = " Stephen king" )
el código anterior es funcional , pero el App Engine Google cobra a sus clientes sobre la base de recursos informáticos utilizados , y son un poco ineficiente
3
Pega el siguiente para acelerar su código: .
query = GqlQuery ( "SELECT __ key__ DESDE DONDE libro Autor = : autor " , author = " Stephen king " )
de b en la consulta : para reservar en
= Book.get ( b )
impresión book.Title
< p> al optar por recuperar sólo __ key__ datos, el GqlQuery realiza mucho más rápido . Debe realizar tantas consultas como sea posible mediante la recuperación de sólo los datos clave.