..


Enlaces patrocinados

Eliminar las tablas mediante UNETE

Artículo escrito por Max Bossi

En este breve artículo vamos a ver cómo es posible realizar consultas a borrar (DELETE) la explotación del potencial de las combinaciones, es decir, la creación de relaciones entre las tablas de MySQL.
De hecho ya hemos visto cómo utilizar la combinación en la selección de los datos (SELECT) y se actualiza (UPDATE), aquí sólo se extenderá lo que ya se ha aprendido.

Para mejor conocer el potencial de esta técnica debe considerar, como nuestra costumbre de asumir un caso concreto de uso.

Digamos que tenemos que trabajar sobre una base de datos de un almacén hipotético se compone de los siguientes cuadros (de los cuales se describen sus estructuras):

  • estantes
    • id (int)
    • descripción (varchar)
  • estantes
    • id (int)
    • scaffale_id (int)
    • descripción (varchar)
  • productos
    • id (int)
    • ripiano_id (int)
    • nombre (varchar)
    • precio (float)
Ahora supongamos que usted tiene la necesidad de eliminar los productos. Nos dirigimos a los siguientes tres resultados diferentes.

1) Supongamos que se desea eliminar un producto único que se conoce la identificación. En este caso, sólo puede ejecutar una consulta trivial:

 



 DELETE * FROM Productos WHERE id = 1;

 
2) La misma consulta se puede utilizar si desea eliminar todos los productos envasados ​​en una plataforma determinada:
 



 DELETE * FROM Productos WHERE ripiano_id = 1;

 
3) Sin embargo, si desea eliminar todos los productos dentro de una plataforma determinada?
Una consulta sencilla, como los vistos anteriormente no sería posible debido a que en los "productos" no hay ningún campo que se refiere a la plataforma!

En realidad el problema no es insuperable! con un poco de destreza en el manejo de consultas, de hecho, el obstáculo es fácil de eludir! ¿Cómo? con una combinación! He aquí un ejemplo:

 



 DELETE productos .*







 De los estantes de productos INNER JOIN







 ON = prodotti.ripiano_id ripiani.id







 DONDE ripiani.scaffale_id = 1;



Al hacerlo hemos creado una relación entre dos tablas de "productos" y "estantes" (basado en el campo de JOIN "ripiano_id" tabla que coincide con el primer identificador de la segunda) con el fin de explotar el campo "scaffale_id" de esta " pasado.

A primera vista, tal vez, podría parecer un poco complicado ... en realidad es bastante simple. Se trata de crear una relación lógica entre dos tablas con el fin de utilizar la información para operar el primero de la segunda.

Donde, además de los productos, hemos querido eliminar todos los estantes de la plataforma correspondiente a la pututo dado que utiliza una consulta poco diferente:

 



 DELETE productos .*, estantes .*







 De los estantes de productos INNER JOIN







 ON = prodotti.ripiano_id ripiani.id







 DONDE ripiani.scaffale_id = 1;



En esencia, esto es la vista de consulta justo encima de la diferencia de que la cancelación no sólo afectará a los campos de la tabla "productos":
 



 productos .*

 
sino también los de la tabla de "plataforma":
 



 estantes .*

 
Para preguntas o solicitudes de E invitamos a publicar en nuestros foros .

En la misma categoría ...
E-Learning
MS Access (Avanzado) MS Access (Avanzado)
Aprenda a crear y gestionar bases de datos rápida y fácilmente. A partir de 29 €.
MySQL (Curso) MySQL (Curso)
Gestión de base de datos de código abierto. A partir de 39 €.
SQL y bases de datos (Avanzado) SQL y bases de datos (Curso)
Crear y gestionar bases de datos relacionales. A partir de 39 €.
Enlaces patrocinados