SELECT y REPLACE en MySQL
Sentencia SELECT en MySQL en distintas tablas
La sentencia SELECT permite realizar consultas, ya sea en una o más tablas, en una base de datos basada en SQL. Estas consultas permiten calcular y obtener resultados de datos mediante un conjunto de cláusulas que se añaden a continuación del SELECT.
El siguiente código muestra la estructura y un ejemplo de una consulta básica.
SELECT * FROM [tabla]
El parámetro * es equivalente a todos, por tanto, en el ejemplo siguiente el resultado que devolverá la consulta serán todos los registros de la tabla productos.
SELECT * FROM productos
En lugar de * es posible indicar uno o varios campos. La siguiente plantilla y el ejemplo siguiente de consulta muestra distintas cláusulas añadidas al SELECT que permiten reducir el tiempo de consulta y la devolución de un resultado más específico.
SELECT [campo1],[campo2]FROM [tabla]WHERE [campo2]BETWEEN [integer]AND [integer]ORDER BY [tabla] [asc|desc]
SELECT producto,pesoFROM productosWHERE pesoBETWEEN 3AND 5ORDER BY producto DESC
Para hacer consultas con distintas tablas y evitar errores, debemos especificar la tabla y el campo:
SELECT [tabla1.campo1], [tabla1.campo2], [tabla1.campo3],[tabla2.campo2],[tabla3.campo1]FROM [tabla1],[tabla2],[tabla3]WHERE [tabla2.campo1] = [tabla3.campo3]AND [tabla1.campo1] = [tabla3.campo1]||[valor]
Ejemplo de consulta en distintas tablas:
SELECT productos.id,productos.producto,productos.tipo,usuario.edad,comprador.user_idFROM productos,usuario,compradorWHERE usuario.id = comprador.user_idAND usuario.edad = 18
Ejemplo de consulta SELECT con ORDER BY:
SELECT * FROM productos WHERE tipo = "electronica"ORDER BY precio DESC, tipo,fechaCaducidad
ORDER BY permite asignar los campos o columnas de forma númerica.
Ejemplo de consulta SELECT con GROUP BY:
SELECT peso FROM productosGROUP BY pesoORDER BY peso DESC
Ejemplo de consulta SELECT con HAVING:
SELECT producto FROM productosGROUP BY productoHAVING peso > 5ORDER BY peso DESC
Ejemplo de consulta SELECT con LIMIT:
SELECT producto FROM productosLIMIT 10
Si LIMIT lleva dos parámetros el primer parámetro el inicio del primer resultado y el segundo el número de registros a devolver.
SELECT id,producto FROM productosLIMIT 10, 5
Ejemplo de consulta con Alias:
SELECT p.id,p.producto, compras.idFROM productos as p, compras as cWHERE p.id=c.id
Ejemplo de consulta con IN y NOT IN:
SELECT producto,pesoFROM productosWHERE producto IN ("procesador", "placa")ORDER BY peso DESC
Ejemplo de consulta con BETWEEN y NOT BETWEEN:
SELECT producto,pesoFROM productosWHERE pesoNOT BETWEEN 3AND 5ORDER BY producto DESC
Ejemplo de consulta con LIKE y NOT LIKE:
SELECT producto,pesoFROM productosWHERE producto LIKE "pro%"
SELECT producto,pesoFROM productosWHERE producto NOT LIKE "%ces%"
REPLACE
El método replace permite reemplazar una cadena o parte de una cadena mediante sentencias en MySQL.
update [tabla] set [columna] = REPLACE([columna],[cadena1],[cadena2] WHERE ID = [ID]
cadena1 : Cadena o subcadena a buscar
cadena2: Cadena de reemplazo
Ejemplo
UPDATE posts SET body=REPLACE(body,"http://", "//") WHERE ID= 274;
Para poder comentar es necesario iniciar sesión