Consultar
PIPE proporciona métodos en español para acceder a los datos de las tablas interpretando las cláusulas y palabras reservadas del gestor de base de datos.
PIPE tiene cuatro formas de retornar los datos en las consultas, como una clase, como un objeto, como un arreglo y como un json, por medio de las constantes PIPE::CLASE, PIPE::OBJETO, PIPE::ARREGLO y PIPE::JSON. La forma por defecto del retorno de datos es como una clase.
Si deseamos obtener la consulta SQL generada podemos usar la constante PIPE::SQL.
El método encontrar nos permite obtener una instancia del constructor de consultas PIPE con los datos asociados a la llave primaria.
Podemos obtener los datos de la siguiente manera.
El método encontrar también permite enviar un arreglo de llaves primarias.
El método obtenerClave permite obtener los registros asignando una o varias claves personalizadas.
El método extraer permite extraer el valor de la clave seleccionada.
El método valor permite obtener el valor de un campo seleccionado, es ideal para consultas donde se tenga la certeza que devolverá un registro.
El constructor de consultas PIPE nos permite realizar sentencias por medio del método sentencia y sentenciaNativa.
A continuación, se muestra un listado de las 41 palabras reservadas del ORM PIPE y su equivalente en el lenguaje SQL de la base de datos para realizar consultas en español con el método consulta.
| Palabra Reservada en el ORM PIPE | Equivalente en el Lenguaje SQL |
|---|---|
| actualizar | update |
| agrupar | group |
| alias | as |
| asignar | set |
| caso | case |
| como | like |
| concatenar | concat |
| contar | count |
| cuando | when |
| de | from |
| dentro | into |
| derecha | right |
| distinto | distinct |
| donde | where |
| eliminar | delete |
| en | on |
| entonces | then |
| entre | between |
| es | is |
| existe | exists |
| fin | end |
| insertar | insert |
| Palabra Reservada en el ORM PIPE | Equivalente en el Lenguaje SQL |
|---|---|
| izquierda | left |
| limite | limit |
| maximo | max |
| minimo | min |
| no | not |
| nulo | null |
| o | or |
| ordenar | order |
| por | by |
| promedio | avg |
| seleccionar | select |
| sino | else |
| suma | sum |
| teniendo | having |
| todo | * |
| unir | join |
| valores | values |
| xo | xor |
| y | and |
Veamos algunos ejemplos utilizando la base de datos mundo.
#1 Obtener todos los datos - *.
Obtener todos los datos de la tabla paises por medio del modelo.
Obtener todos los datos de la tabla paises por medio del constructor de consultas PIPE.
Obtener todos los datos de la tabla paises por medio de consulta en español.
Obtener todos los datos de la tabla paises por medio de consulta nativa.
#2 Seleccionar campos - select.
Obtener codigo y nombre de la tabla paises por medio del modelo.
Obtener codigo y nombre de la tabla paises por medio del constructor de consultas PIPE.
Obtener codigo y nombre de la tabla paises por medio de consulta en español.
Obtener codigo y nombre de la tabla paises por medio de consulta nativa.
#3 Condicionales - where.
PIPE permite varias formas de realizar condicionales con la cláusula where.
Por medio del método donde y sus variaciones oDonde, dondeNo y oDondeNo.
Por medio del método dondeEn y sus variaciones oDondeEn, dondeNoEn y oDondeNoEn.
Por medio del método dondeEntre y sus variaciones oDondeEntre, dondeNoEntre y oDondeNoEntre.
Por medio del método dondeNulo y sus variaciones oDondeNulo, dondeNoNulo y oDondeNoNulo.
Por medio del método dondeColumna y su variación oDondeColumna.
Por medio del método dondeCrudo.
Por medio del método consulta y su variante consultaNativa.
#4 Uniones - inner join, right join, left join.
inner join
Cuando el método unir no detecta el operador de comparación este incluye por defecto el operador =.
Obtener nombre e idioma de la tabla paises.
right join
Cuando el método unirDerecha no detecta el operador de comparación este incluye por defecto el operador =.
Nota: El método unirDerecha no soporta el controlador sqlite.
Obtener todos los datos de la tabla paises que no tengan idiomas asociados.
left join
Cuando el método unirIzquierda no detecta el operador de comparación este incluye por defecto el operador =.
Obtener todos los datos de la tabla paises que no tengan idiomas asociados.
Como complemento de los métodos de uniones, el método relaciones nos permite establecer los datos relacionados a un modelo que se obtendrán junto a los resultados de la consulta SQL. Este método, permite recibir múltiples parámetros correspondientes a los nombres de relaciones que tengamos definidas en el modelo.
#5 Agrupaciones - group by.
Obtener la cantidad de paises de cada continente.
El método agruparPor también permite enviar un arreglo definiendo varias agrupaciones.
#6 Condicionales - having.
Obtener los continentes que tengan más de 40 paises.
#7 Ordenar - order by.
Cuando el método ordenarPor no detecta el tipo de orden este incluye por defecto el tipo asc.
Obtener todos los datos de la tabla paises ordenados por nombre ascendentemente.
Obtener todos los datos de la tabla paises ordenados por nombre descendentemente.
El método ordenarPor también permite enviar un arreglo definiendo varias ordenaciones.
#8 Límite - limit.
Cuando el método limite no detecta el segundo parámetro este incluye por defecto un límite simple.
Obtener los dos primeros registros de la tabla paises.
Obtener todos los datos de la tabla paises desde la posición 5 hasta la posición 10.
#9 Distinto - distinct.
Obtener todos los continentes de la tabla paises.
#10 Alias - as.
Obtener todos los países que tengan menos de 5 ciudades por medio de subconsulta.
Consultas básicas por medio de métodos.
#11 Obtener el primer registro - primero.
Obtener el primer registro de la tabla paises por medio del modelo.
Obtener el primer registro de la tabla paises por medio del constructor de consultas PIPE.
Obtener los diez primeros registros de la tabla paises por medio del modelo.
Obtener los diez primeros registros de la tabla paises por medio del constructor de consultas PIPE.
#12 Obtener el último registro - ultimo.
Debido a que en el constructor de consultas PIPE no disponemos de un modelo que nos permita omitir las convenciones, debemos indicarle al método ultimo cual es la lleve primaria.
Obtener el último registro de la tabla paises por medio del modelo.
Obtener el último registro de la tabla paises por medio del constructor de consultas PIPE.
Obtener los diez últimos registros de la tabla paises por medio del modelo.
Obtener los diez últimos registros de la tabla paises por medio del constructor de consultas PIPE.
#13 Contar resultados de consulta SQL - contar.
Contar la cantidad de registros en la tabla paises.
#14 Obtener el valor máximo del campo especificado - maximo.
Obtener la población máxima en la tabla paises.
#15 Obtener el valor mínimo del campo especificado - minimo.
Obtener la población mínima en la tabla paises.
#16 Obtener el valor promedio del campo especificado - promedio.
Obtener el promedio de población en la tabla paises.
#17 Obtener la suma del campo especificado - suma.
Obtener la suma de la población en la tabla paises.
#18 Verificar que la consulta SQL ha retornado un resultado. - existe.
El método existe retorna true cuando encuentra resultados.
#19 Verificar que la consulta SQL no ha retornado un resultado. - noExiste.
El método noExiste retorna true cuando no encuentra resultados.
#20 Incrementar el valor del campo especificado. - incrementar.
Incrementar la población en la tabla paises.
#21 Decrementar el valor del campo especificado. - decrementar.
Decrementar la población en la tabla paises.
PIPE lanza dos tipos de excepciones, ORMExcepcion y SQLExcepcion, las cuales podemos manejar de la siguiente manera.
Si utilizas el Modelo para interactuar con los datos de la base de datos, tendrás la ventaja de poder omitir las convenciones que tiene el ORM PIPE y adaptarse a la estructura que tenga tu tabla en la base de datos, ya que el Constructor de Consultas se adapta por defecto a las convenciones.