MySQL DELETE Query: Cómo eliminar una fila de una tabla

Tabla de contenido:

Anonim

¿Qué es la consulta DELETE?

El comando MySQL DELETE se usa para eliminar filas que ya no son necesarias de las tablas de la base de datos. Elimina toda la fila de la tabla y devuelve el recuento de filas eliminadas. El comando Eliminar es útil para eliminar datos temporales u obsoletos de su base de datos.

La consulta Eliminar en MySQL puede eliminar más de una fila de una tabla en una sola consulta. Esto demuestra ser una ventaja al eliminar un gran número de filas de una tabla de base de datos.

Una vez que se ha eliminado una fila de Eliminar en la fila de MySQL, no se puede recuperar. Por lo tanto, se recomienda encarecidamente realizar copias de seguridad de la base de datos antes de eliminar cualquier dato de la base de datos. Esto puede permitirle restaurar la base de datos y ver los datos más adelante si fuera necesario.

Cómo eliminar una fila en MySQL

Para eliminar una fila en MySQL, se usa la declaración DELETE FROM:

DELETE FROM `table_name` [WHERE condition];

AQUÍ

  • DELETE FROM `table_name` le dice al servidor MySQL que elimine filas de la tabla ...
  • [WHERE condición] es opcional y se usa para poner un filtro que restringe el número de filas afectadas por la consulta de fila MySQL DELETE.

Si la cláusula WHERE no se utiliza en la consulta DELETE de MySQL, se eliminarán todas las filas de una tabla determinada.

Ejemplo de consulta de eliminación de MySQL

Antes de entrar en más detalles sobre el comando DELETE, insertemos algunos datos de muestra en la tabla de películas para trabajar.

INSERT INTO `movies` (`title`, `director`, `year_released`, `category_id`) VALUES ('The Great Dictator', 'Chalie Chaplie', 1920, 7);INSERT INTO `movies` (`title`, `director`, `category_id`) VALUES ('sample movie', 'Anonymous', 8);INSERT INTO movies (`title`, `director`, `year_released`, `category_id`) VALUES ('movie 3', 'John Brown', 1920, 8);

La ejecución del guión anterior agrega tres (3) películas a la tabla de películas. Antes de continuar con nuestra lección, coloquemos todas las películas en nuestra mesa. El script que se muestra a continuación hace eso.

SELECT * FROM `movies`;

La ejecución del script anterior nos da los siguientes resultados.

 
movie_id itle director year_released category_id
1 Pirates of the Caribean 4 Rob Marshall 2011 1
2 Forgetting Sarah Marshal Nicholas Stoller 2008 2
3 X-Men NULL 2008 NULL
4 Code Name Black Edgar Jimz 2010 NULL
5 Daddy's Little Girls NULL 2007 8
6 Angels and Demons NULL 2007 6
7 Davinci Code NULL 2007 6
9 Honey mooners John Schultz 2005 8
16 67% Guilty NULL 2012 NULL
18 The Great Dictator Chalie Chaplie 1920 7
19 sample movie Anonymous NULL 8
20 movie 3 John Brown 1920 8

Supongamos que la videoteca de Myflix ya no desea alquilar "El gran dictador" a sus miembros y quieren que se elimine de la base de datos. Su ID de película es 18, podemos usar el script que se muestra a continuación para eliminar su fila de la tabla de películas.

DELETE FROM `movies` WHERE `movie_id` = 18;

La ejecución del script anterior en MySQL WorkBench contra Myflix elimina la película con la identificación 18 de la tabla de la base de datos.

Veamos el estado actual de la tabla de películas.

SELECT * FROM `movies`;
 
movie_id title director year_released category_id
1 Pirates of the Caribean 4 Rob Marshall 2011 1
2 Forgetting Sarah Marshal Nicholas Stoller 2008 2
3 X-Men NULL 2008 NULL
4 Code Name Black Edgar Jimz 2010 NULL
5 Daddy's Little Girls NULL 2007 8
6 Angels and Demons NULL 2007 6
7 Davinci Code NULL 2007 6
9 Honey mooners John Schultz 2005 8
16 67% Guilty NULL 2012 NULL
19 sample movie Anonymous NULL 8
20 movie 3 John Brown 1920 8

NOTA:

  • la película con id 18 no se ha devuelto en el conjunto de resultados de la consulta.
  • no puede eliminar una sola columna de una tabla. Puede eliminar una fila completa.

Digamos que tenemos una lista de películas que queremos eliminar. Podemos usar la cláusula WHERE junto con IN.

DELETE FROM `movies` WHERE `movie_id` IN (20,21);

La ejecución del script anterior elimina las películas con ID 20 y 21 de nuestra tabla de películas.

Resumen

  • El comando de eliminación se utiliza para eliminar datos que ya no son necesarios de una tabla.
  • La "cláusula WHERE" se utiliza para limitar el número de filas afectadas por la consulta DELETE.
  • Una vez que se han eliminado los datos, no se pueden recuperar, por lo que se recomienda encarecidamente realizar copias de seguridad antes de eliminar los datos.