Pequeño gestor de consultas SQL, este permite construir una consulta inmutable

0.0.1 2018-04-09 02:49 UTC

This package is not auto-updated.

Last update: 2024-09-18 04:33:44 UTC


README

#MyQ

es un pequeño gestor de consultas SQL, este permite construir una consulta inmutable

require __DIR__."/../vendor/autoload.php";

$pdo = new PDO("mysql:dbname=attack;host=localhost", "root", "");

$db = new MyQ\Connect([
    "db"    => $pdo,
    "prefix"=> "sample_" // opcional
]);

$data = $db->el_nombre_de_mi_tabla // prepara el cursor hacia esta tabla
          ->select()   // prepara la consulta select
          ->fetch();   // la ejecuta para obtener un resultado

Métodos

por defecto MyQ enseña diversos métodos que aceleran el proceso de generación de consultas SQL

MyQ::select( array $select = [] )

prepara una consulta select

select ejemplo 1

permite obtener de "mi_tabla" el campo "mi campo"

$mi_tabla->select([
   "mi campo"
])

select ejemplo 2

permite obtener de "mi_tabla" el campo "mi campo" y asignarle el alias "campo"

$mi_tabla->select([
   [
       "mi campo",
       "campo"
   ] // mi campo as campo
])

select ejemplo 3

permite obtener de "mi_tabla" el campo "mi campo" aplicar las funciones "MIN, MAX, COUNT , AVG, SUB"

$mi_tabla->select([
   [
       "mi campo",
       "min"
   ] // MIN(mi campo)
])

select ejemplo 4

permite obtener de "mi_tabla" el campo "mi campo" aplicar las funciones "MIN, MAX, COUNT , AVG, SUB" y asignar un alias

$mi_tabla->select([
   [
       "mi campo",
       "min",
       "minimo"
   ] // MIN(mi campo) as minimo
])

MyQ::insert(array $columns)

prepara una consulta insert

$mi_tabla->insert([
   "mi campo"=>10,
   "mi otro campo"=>20,
])

MyQ::update(array $columns)

prepara una consulta update

$mi_tabla->update([
   "mi campo"=>10,
   "mi otro campo"=>20,
])

MyQ::delete(array $columns)

prepara una consulta delete

$mi_tabla->update()

MyQ::where(array $where)

concatena a la consulta la sentencia where

Ejemplo where

esta consulta elimina de "mi_tabla", la o las filas que cumpla con la expresión "id = 10"

$mi_tabla
->delete()
->where([
   "id","=","10"
])

de igual forma ud puede usar todas las expresiones de búsqueda propias de where **"=, <, >, <=, >=, <>"

Ejemplo where IS NULL

esta consulta elimina de "mi_tabla", la o las filas que cumpla con la expresión "IS NULL"

$mi_tabla
->delete()
->where([
   "id","=",NULL
])

Ejemplo where NOT !

esta consulta elimina de "mi_tabla", la o las filas que cumpla con la expresión "NOT id = 10"

$mi_tabla
->delete()
->where([
   "id","!=",10
])

Ejemplo where BETWEEN {}

De igual forma ud puede aplicar el comodín BETWEEN sea usando la palabra "between" o su comodín "[]".

esta consulta elimina de "mi_tabla", la o las filas que cumpla con la expresión "ID BETWEEN 1 AND 20"

$mi_tabla
->delete()
->where([
   "id","[]",[1,20]
])

Ejemplo where IN {}

De igual forma ud puede aplicar el comodín IN sea usando la palabra "in" o su comodín "{}".

esta consulta elimina de "mi_tabla", la o las filas que cumpla con la expresión "ID IN (1,20)"

$mi_tabla
->delete()
->where([
   "id","{}",[1,20]
])

Ejemplo where OR ||

De igual forma ud puede aplicar el comodín OR sea usando la palabra "or" o su comodín "||".

esta consulta elimina de "mi_tabla", la o las filas que cumpla con la expresión "id = 2 OR id = 3"

$mi_tabla
->delete()
->where([
   ["id","=",2],"||",["id","=",3]
])

Ejemplo where like %

De igual forma ud puede aplicar el comodín LIKE sea usando la palabra "like" o su comodín "%".

esta consulta elimina de "mi_tabla", la o las filas que cumpla con la expresión "name LIKE %m% "

$mi_tabla
->delete()
->where([
   "name","%","%m%"
])

Ejemplo where completo

de igual forma ud puede usar todos los operadores para crear consultas avanzadas, incluso recurrir a la recursión de estos mismos.

$mi_tabla
->delete()
->where([
   "id","=","20",
   "age", "[]",[18,30],
   "lang", "{}", ["es","en"]
])

MyQ::join( array $joins , $type = "inner")

concatena a la consulta la sentencia join

$mi_tabla
->select([
   "mi_tabla.*",
   "mi_otra_tabla.*"
])
->join([
   "mi_otra_tabla.ID"=>"mi_tabla.ID"
])

MyQ::raw( string $raw )

permite concatenar a la consulta ya existente un string sin validación de seguridad

MyQ::setParams( array $params)

permite modificar o crear parámetros para la consulta

$mi_tabla
->select()
->setParams([
   ":ID"=>10
])
->raw("WHERE ID=:ID")

MyQ::fetch( fetch_style $fetch = \PDO::FETCH_ASSOC , fetch_argument ...$args )

Permite ejecutar de forma conjunta "execute" y luego "fetchAll" con la constante "fetch" asignada.

$mi_tabla
->select()
->fetch()

MyQ::execute( array $params = [] )

permite ejecutar el método "execute" para obtener los resultados de la query, "$params" puede reemplazar los parámetros por defectos anteriormente existentes en la query.

este retorna un array que se compone de la siguiente forma [$prepare,$status]:

  • $prepare : posee el retorno de PDO::prepare
  • $status : posee el retorno de PDO::execute