{"id":5320,"date":"2026-01-19T16:54:06","date_gmt":"2026-01-19T15:54:06","guid":{"rendered":"https:\/\/sutilweb.eu\/?page_id=5320"},"modified":"2026-01-19T16:54:07","modified_gmt":"2026-01-19T15:54:07","slug":"41-consulta-a-una-bbdd-mysql-select-where","status":"publish","type":"page","link":"https:\/\/sutilweb.eu\/index.php\/lenguajes\/php\/php-practico\/41-consulta-a-una-bbdd-mysql-select-where\/","title":{"rendered":"41. Consulta a una BBDD MySQL (SELECT | WHERE)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Para hacer consultas a una base de&nbsp;datos lo primero que tenemos que hacer es escribir la palabra reservada <strong><em>SELECT<\/em><\/strong> seguido del nombre de los campos que queremos consultar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT nombre, apellidos<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s utilizamos la palabra reservada <strong><em>FROM<\/em><\/strong> para elegir la tabla sobre la que queremos consultar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT nombre, apellidos FROM ejemplo.contactos;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Por \u00faltimo, como podemos ver, ponemos el punto y coma.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Extraer toda la informaci\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para ello utilizamos el signo de asterisco, el cual trae todos los campos que tenemos en nuestra tabla.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT * FROM ejemplo.contactos;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Cuantos registros hay en una tabla<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para ello se utiliza la palabra reservada <strong><em>COUNT.<\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT COUNT(*) FROM ejemplo.contactos;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Registros \u00fanicos con DISTINCT<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Imaginemos que dos direcciones son iguales y s\u00f3lo queremos que devuelvan las direcciones \u00fanicas, para ello ponemos la palabra reservada DISTINCT delante del campo sobre el que realizamos la&nbsp;consulta, de la siguiente manera.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT DISTINCT direccion FROM ejemplo.contactos;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Esto devolver\u00e1 valores \u00fanicos. Las direcciones duplicadas&nbsp;s\u00f3lo se devolver\u00e1n una vez.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Registro en particular<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Lo que queremos es encontrar un registro en particular, para ello&nbsp;usamos un filtro utilizando la palabra reservada WHERE seguida del nombre del campo que queremos filtrar, de la siguiente manera.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT * FROM ejemplo.contactos WHERE nombre=\"Francisco\";<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Esto devolver\u00e1 todos los registros pero cuyo nombre coincide con <strong><em>Francisco<\/em><\/strong>. Cuando usamos el signo igual, estamos diciendo que extraiga todos los registros cuyo nombre sea exactamente <strong><em>Francisco<\/em><\/strong> en nuestro caso. Para extraer todos los registros cuyo nombre sea <strong><em>Francisco<\/em><\/strong> y pueda estar en cualquier parte del texto hemos de utilizar el caracter de porcentaje (%) antes del valor, despu\u00e9s del valor, o antes y despu\u00e9s del valor, de la siguiente manera.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT * FROM ejemplo.contactos WHERE nombre LIKE \"%Francisco\"; \/\/ ANTES DE Francisco \nSELECT * FROM ejemplo.contactos WHERE nombre LIKE \"Francisco%\"; \/\/ DESPU\u00c9S DE Francisco\nSELECT * FROM ejemplo.contactos WHERE nombre LIKE \"%Francisco%\"; ANTES O DESPU\u00c9S DE Francisco<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Para utilizar los porcentajes, el s\u00edmbolo igual lo vamos a sustituir por la palabra reservada <strong><em>LIKE,<\/em><\/strong> como se muestra en el ejm de arriba.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Limitar la cantidad de registros<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para ello utilizamos la palabra reservada <strong><em>LIMIT<\/em><\/strong> de la siguiente manera.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT * FROM ejemplo.contactos LIMIT 2;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Va a devolver \u00fanicamente los dos primeros registros.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En el caso de que queramos que traiga los dos \u00faltimos creamos la siguiente sintaxis<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT * FROM ejemplo.contactos LIMIT 1, 2;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">El 1 indica a partir de que registro queremos que traiga los resultados, y el&nbsp;2 indica el n\u00famero de registros que queremos que nos traiga.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La sentencia WHERE no sirve s\u00f3lo para poder recuperar registros de nuestra base de datos, sino tambi\u00e9n lo vamos utilizar para actualizar y eliminar registros.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Actualizar registros<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Podemos usar la siguiente sintaxis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ejm<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>UPDATE TABLE ejemplo.contactos SET telefono = '123456789' WHERE nombre LIKE '%Francisco%';<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Esto modificar\u00e1 todos los registros cuyo nombre sea Francisco.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Workbench, por defecto no nos va a permitir modificar grandes cantidades de datos, debemos desactivar el modo seguro, que es una protecci\u00f3n para nosotros mismos por si eliminamos sin querer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Desactivar modo seguro<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La ruta para ello es:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Edit > Preferences > SQL Editor > Safe Updates (rejects UPDATEs and DELETEs with no restrictions)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Por defecto la casilla viene activada, hemos de desactivarla y ejecutaremos nuestro <strong>Workbench<\/strong> en modo no seguro. Despu\u00e9s tenemos que reiniciar nuestro <strong>XAMPP<\/strong> para que se desactive el modo seguro.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Para hacer consultas a una base de&nbsp;datos lo primero que tenemos que hacer es escribir la palabra reservada SELECT seguido [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":4518,"menu_order":40,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-5320","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Sutil Web","author_link":"https:\/\/sutilweb.eu\/index.php\/author\/sutilweb\/"},"uagb_comment_info":0,"uagb_excerpt":"Para hacer consultas a una base de&nbsp;datos lo primero que tenemos que hacer es escribir la palabra reservada SELECT seguido [&hellip;]","_links":{"self":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5320","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/comments?post=5320"}],"version-history":[{"count":3,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5320\/revisions"}],"predecessor-version":[{"id":5323,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5320\/revisions\/5323"}],"up":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/4518"}],"wp:attachment":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/media?parent=5320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}