stringtranslate.com

Eliminar (SQL)

En el lenguaje de consulta estructurado de bases de datos ( SQL ), la sentencia DELETE se utiliza para eliminar uno o más registros de una tabla . Se puede definir un subconjunto para su eliminación mediante una condición; de lo contrario, se eliminan todos los registros. [1] Algunos sistemas de gestión de bases de datos (DBMS), como MySQL , permiten la eliminación de filas de varias tablas con una sentencia DELETE (a esto a veces se le llama DELETE multitabla).

Ejemplos

Eliminar filas de las tablas circulares donde el sabor de la columna es igual a Merengue de limón :

ELIMINAR DE pies DONDE sabor = 'Merengue de limón' ;    

Eliminar filas en los árboles , si el valor de la altura es menor que 80.

ELIMINAR DE árboles DONDE altura < 80 ;      

Eliminar todas las filas de mytable :

ELIMINAR DE mitabla ;  

Eliminar filas de mytable usando una subconsulta en la condición where:

ELIMINAR DE mitabla DONDE id EN ( SELECCIONAR id DE mitabla2 );           

Eliminar filas de mytable usando una lista de valores:

ELIMINAR DE mitabla DONDE id EN ( valor1 , valor2 , valor3 , valor4 , valor5 );            

Ejemplo con tablas relacionadas

Supongamos que existe una base de datos sencilla que contiene una lista de personas y direcciones. Más de una persona puede vivir en una dirección determinada y una persona puede vivir en más de una dirección (este es un ejemplo de una relación de varios a varios ). La base de datos solo tiene tres tablas, person , address y pa , con los siguientes datos:

La tabla pa relaciona las tablas de personas y direcciones, mostrando que Joe, Bob y Ann viven en 2001 Main Street, pero Joe también reside en Pico Boulevard.

Para eliminar a joe de la base de datos, se deben ejecutar dos eliminaciones:

 ELIMINAR DE persona DONDE pid = 1 ; ELIMINAR DE pa DONDE pid = 1 ;         

Para mantener la integridad referencial, los registros de Joe deben eliminarse tanto de person como de pa . Podría ser que, además de tener solo tres tablas, la base de datos también se haya configurado con un disparador para que, siempre que se elimine una fila de person, se eliminen todas las filas vinculadas de pa . Entonces, la primera declaración:

 ELIMINAR DE persona DONDE pid = 1 ;    

activaría automáticamente el segundo:

 ELIMINAR DE pa DONDE pid = 1 ;    

Características

Comandos relacionados

Eliminar todas las filas de una tabla puede llevar mucho tiempo. Algunos DBMS [ se necesita una aclaración ] ofrecen un comando TRUNCATE TABLE que funciona mucho más rápido, ya que solo modifica los metadatos y, por lo general, no dedica tiempo a aplicar restricciones o activar activadores.

DELETE solo elimina las filas. Para eliminar una tabla por completo, se puede utilizar el comando DROP .

Referencias

  1. ^ "Instrucción de eliminación de SQL". w3schools.com.

Enlaces externos