{"id":18358858,"url":"https://github.com/uppercod/myq","last_synced_at":"2025-04-10T03:04:18.871Z","repository":{"id":57075874,"uuid":"128682196","full_name":"UpperCod/MyQ","owner":"UpperCod","description":"Pequeño gestor de consultas SQL, este permite construir una consulta inmutable","archived":false,"fork":false,"pushed_at":"2018-04-09T03:33:12.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-23T22:26:54.906Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UpperCod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-08T21:09:44.000Z","updated_at":"2018-04-09T03:33:13.000Z","dependencies_parsed_at":"2022-08-24T14:55:46.860Z","dependency_job_id":null,"html_url":"https://github.com/UpperCod/MyQ","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UpperCod%2FMyQ","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UpperCod%2FMyQ/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UpperCod%2FMyQ/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UpperCod%2FMyQ/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UpperCod","download_url":"https://codeload.github.com/UpperCod/MyQ/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239036164,"owners_count":19571454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T22:19:44.640Z","updated_at":"2025-02-15T18:30:00.853Z","avatar_url":"https://github.com/UpperCod.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"#MyQ\n\nes un pequeño gestor de consultas SQL, este permite construir una consulta inmutable\n\n```php\n\nrequire __DIR__.\"/../vendor/autoload.php\";\n\n$pdo = new PDO(\"mysql:dbname=attack;host=localhost\", \"root\", \"\");\n\n$db = new MyQ\\Connect([\n    \"db\"    =\u003e $pdo,\n    \"prefix\"=\u003e \"sample_\" // opcional\n]);\n\n$data = $db-\u003eel_nombre_de_mi_tabla // prepara el cursor hacia esta tabla\n          -\u003eselect()   // prepara la consulta select\n          -\u003efetch();   // la ejecuta para obtener un resultado\n\n```\n\n## Métodos\n\npor defecto MyQ enseña diversos métodos que aceleran el proceso de generación de consultas SQL\n\n## MyQ::select( array $select = [] )\n\nprepara una consulta select\n\n### select ejemplo 1\n\npermite obtener de **\"mi_tabla\"** el campo **\"mi campo\"**\n\n```php\n$mi_tabla-\u003eselect([\n   \"mi campo\"\n])\n\n```\n\n### select ejemplo 2\n\npermite obtener de **\"mi_tabla\"** el campo **\"mi campo\"** y asignarle el alias **\"campo\"**\n\n```php\n$mi_tabla-\u003eselect([\n   [\n       \"mi campo\",\n       \"campo\"\n   ] // mi campo as campo\n])\n\n```\n\n\n### select ejemplo 3\n\npermite obtener de **\"mi_tabla\"** el campo **\"mi campo\"** aplicar las funciones **\"MIN, MAX, COUNT , AVG, SUB\"**\n\n```php\n$mi_tabla-\u003eselect([\n   [\n       \"mi campo\",\n       \"min\"\n   ] // MIN(mi campo)\n])\n\n```\n\n### select ejemplo 4\n\npermite obtener de **\"mi_tabla\"** el campo **\"mi campo\"** aplicar las funciones **\"MIN, MAX, COUNT , AVG, SUB\"** y asignar un alias\n\n```php\n$mi_tabla-\u003eselect([\n   [\n       \"mi campo\",\n       \"min\",\n       \"minimo\"\n   ] // MIN(mi campo) as minimo\n])\n\n```\n\n## MyQ::insert(array $columns)\n\nprepara una consulta insert\n\n```php\n$mi_tabla-\u003einsert([\n   \"mi campo\"=\u003e10,\n   \"mi otro campo\"=\u003e20,\n])\n```\n\n\n## MyQ::update(array $columns)\n\nprepara una consulta update\n\n```php\n$mi_tabla-\u003eupdate([\n   \"mi campo\"=\u003e10,\n   \"mi otro campo\"=\u003e20,\n])\n```\n\n\n## MyQ::delete(array $columns)\n\nprepara una consulta delete\n\n```php\n$mi_tabla-\u003eupdate()\n```\n\n## MyQ::where(array $where)\n\nconcatena a la consulta la sentencia where\n\n### Ejemplo where\nesta consulta elimina de **\"mi_tabla\"**, la o las filas que cumpla con la expresión **\"id = 10\"**\n\n```php\n$mi_tabla\n-\u003edelete()\n-\u003ewhere([\n   \"id\",\"=\",\"10\"\n])\n\n```\n\n\u003e de igual forma ud puede usar todas las expresiones de búsqueda propias de where **\"=, \u003c, \u003e, \u003c=, \u003e=, \u003c\u003e\"\n\n### Ejemplo where IS NULL\n\nesta consulta elimina de **\"mi_tabla\"**, la o las filas que cumpla con la expresión **\"IS NULL\"**\n\n```php\n$mi_tabla\n-\u003edelete()\n-\u003ewhere([\n   \"id\",\"=\",NULL\n])\n\n```\n\n### Ejemplo where NOT !\n\nesta consulta elimina de **\"mi_tabla\"**, la o las filas que cumpla con la expresión **\"NOT id = 10\"**\n\n```php\n$mi_tabla\n-\u003edelete()\n-\u003ewhere([\n   \"id\",\"!=\",10\n])\n\n```\n\n### Ejemplo where BETWEEN {}\n\nDe igual forma ud puede aplicar el comodín **BETWEEN** sea usando la palabra **\"between\"** o su comodín **\"[]\"**.\n\nesta consulta elimina de **\"mi_tabla\"**, la o las filas que cumpla con la expresión **\"ID BETWEEN 1 AND 20\"**\n\n```php\n$mi_tabla\n-\u003edelete()\n-\u003ewhere([\n   \"id\",\"[]\",[1,20]\n])\n\n```\n\n### Ejemplo where IN {}\n\nDe igual forma ud puede aplicar el comodín **IN** sea usando la palabra **\"in\"** o su comodín **\"{}\"**.\n\nesta consulta elimina de **\"mi_tabla\"**, la o las filas que cumpla con la expresión **\"ID IN (1,20)\"**\n\n```php\n$mi_tabla\n-\u003edelete()\n-\u003ewhere([\n   \"id\",\"{}\",[1,20]\n])\n\n```\n\n\n### Ejemplo where OR ||\n\nDe igual forma ud puede aplicar el comodín **OR** sea usando la palabra **\"or\"** o su comodín **\"||\"**.\n\nesta consulta elimina de **\"mi_tabla\"**, la o las filas que cumpla con la expresión **\"id = 2 OR id = 3\"**\n\n```php\n$mi_tabla\n-\u003edelete()\n-\u003ewhere([\n   [\"id\",\"=\",2],\"||\",[\"id\",\"=\",3]\n])\n\n```\n\n### Ejemplo where like %\n\nDe igual forma ud puede aplicar el comodín **LIKE** sea usando la palabra **\"like\"** o su comodín **\"%\"**.\n\nesta consulta elimina de **\"mi_tabla\"**, la o las filas que cumpla con la expresión **\"name LIKE `%m%` \"**\n\n```php\n$mi_tabla\n-\u003edelete()\n-\u003ewhere([\n   \"name\",\"%\",\"%m%\"\n])\n\n```\n\n### Ejemplo where completo\n\nde igual forma ud puede usar todos los operadores para crear consultas avanzadas, incluso recurrir a la recursión de estos mismos.\n\n```php\n$mi_tabla\n-\u003edelete()\n-\u003ewhere([\n   \"id\",\"=\",\"20\",\n   \"age\", \"[]\",[18,30],\n   \"lang\", \"{}\", [\"es\",\"en\"]\n])\n```\n\n## MyQ::join( array $joins , $type = \"inner\")\n\n\nconcatena a la consulta la sentencia join\n\n```php\n$mi_tabla\n-\u003eselect([\n   \"mi_tabla.*\",\n   \"mi_otra_tabla.*\"\n])\n-\u003ejoin([\n   \"mi_otra_tabla.ID\"=\u003e\"mi_tabla.ID\"\n])\n```\n\n## MyQ::raw( string $raw )\n\npermite concatenar a la consulta ya existente un string sin validación de seguridad\n\n## MyQ::setParams( array $params)\n\npermite modificar o crear parámetros para la consulta\n\n```php\n$mi_tabla\n-\u003eselect()\n-\u003esetParams([\n   \":ID\"=\u003e10\n])\n-\u003eraw(\"WHERE ID=:ID\")\n```\n\n## MyQ::fetch( fetch_style $fetch = \\PDO::FETCH_ASSOC , fetch_argument ...$args )\n\nPermite ejecutar  de forma conjunta **\"execute\"** y luego **\"fetchAll\"** con la constante **\"fetch\"** asignada.\n\n```php\n$mi_tabla\n-\u003eselect()\n-\u003efetch()\n```\n\n## MyQ::execute( array $params = [] )\n\npermite 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.\n\neste retorna un array que se compone de la siguiente forma `[$prepare,$status]`:\n\n* **$prepare** : posee el retorno de **PDO::prepare**\n* **$status** : posee el retorno de **PDO::execute**\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuppercod%2Fmyq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuppercod%2Fmyq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuppercod%2Fmyq/lists"}