Resumen: En este tutorial, aprenderá a usar la instrucción SQL Server DELETE
para eliminar una o más filas de una tabla.
Introducción a la instrucción DELETE de SQL Server
para eliminar una o más filas de una tabla por completo, utilice la instrucción DELETE
. Lo siguiente ilustra su sintaxis:
Code language: SQL (Structured Query Language) (sql)
primero, especifique el nombre de la tabla de la que se van a eliminar las filas en la cláusula FROM
.,
por ejemplo, la siguiente instrucción eliminará todas las filas de la target_table
:
Code language: SQL (Structured Query Language) (sql)
en segundo lugar, para especificar el número o porcentaje de filas aleatorias que se eliminarán, utilice la cláusula TOP
.
por ejemplo, la siguiente instrucción DELETE
elimina 10 filas aleatorias de la instrucción target_table
:
Code language: SQL (Structured Query Language) (sql)
debido a que la tabla almacena sus filas en un orden no especificado, no sabemos qué filas se eliminarán, pero sabemos con seguridad que el número de filas se eliminará es 10.,
del mismo modo, puede eliminar el 10 por ciento de las filas aleatorias utilizando la siguiente instrucción DELETE
:
Code language: SQL (Structured Query Language) (sql)
En tercer lugar, en términos prácticos, rara vez eliminará todas las filas de una tabla, pero solo una o varias filas. En este caso, debe especificar la cláusula search_condition
en la cláusula WHERE
para limitar el número de filas que se eliminan.
se eliminarán las filas que causan que search_condition
se evalúe como verdadero.
la cláusula WHERE
es opcional., Si lo omite, la instrucción DELETE
eliminará todas las filas de la tabla.
SQL Server DELETE statement examples
vamos a crear una nueva tabla para la demostración.
La siguiente instrucción crea una tabla con el nombre production.product_history
con los datos copiados desde el production.products
tabla:
Code language: SQL (Structured Query Language) (sql)
La siguiente consulta devuelve todas las filas de la etiqueta product_history
tabla:
Code language: SQL (Structured Query Language) (sql)
Como puede verse claramente en la salida, tenemos 321 hileras en total.,
1) eliminar el número de filas aleatorias ejemplo
la siguiente DELETE
la instrucción elimina 21 filas aleatorias de la tabla product_history
:
Code language: SQL (Structured Query Language) (sql)
Aquí está el mensaje emitido por SQL Server:
Code language: SQL (Structured Query Language) (sql)
significa que se han eliminado 21 filas.,
2) Eliminar el porcentaje de filas aleatorias ejemplo
la siguiente DELETE
la instrucción elimina el 5% de las filas aleatorias de la tabla product_history
:
Code language: SQL (Structured Query Language) (sql)
SQL Server emitió el siguiente mensaje indicando que 15 filas (300 x 5% = 15).,h3>3) eliminar algunas filas con una condición ejemplo
la siguiente instrucción DELETE
elimina todos los productos cuyo Año de modelo es 2017:
Code language: SQL (Structured Query Language) (sql)
Aquí está el mensaje de salida:
Code language: SQL (Structured Query Language) (sql)
4) Eliminar todas las filas de una tabla ejemplo
la siguiente instrucción DELETE
elimina todas las filas de la tabla product_history
:
Code language: SQL (Structured Query Language) (sql)
tenga en cuenta que si desea eliminar todas las filas de una tabla grande, debe usar la instrucción TRUNCATE TABLE
declaración que es más rápida y más eficiente.,
en este tutorial, ha aprendido a usar la instrucción SQL Server DELETE
para eliminar una o más filas de una tabla.