{"id":168,"date":"2014-03-10T12:50:17","date_gmt":"2014-03-10T12:56:12","guid":{"rendered":"https:\/\/1eb25sql.jpg"},"modified":"2015-07-16T20:59:43","modified_gmt":"2015-07-17T02:59:43","slug":"diferencia-entre-delete-truncate-y-drop-en-sql","status":"publish","type":"post","link":"https:\/\/emanuelpaxtian.com\/blog\/diferencia-entre-delete-truncate-y-drop-en-sql\/","title":{"rendered":"Diferencia entre DELETE, TRUNCATE y DROP en SQL"},"content":{"rendered":"<p>Cuando manejamos una base de datos SQL, adem\u00e1s de manejar creaciones de tablas (CREATE TABLE), inserciones (INSERT), consultas (SELECT) y actualizaciones (UPDATE); dentro de las operaciones b\u00e1sicas tambi\u00e9n tenemos las que implican borrado. Borrado de diferentes tipos: de filas que cumplan una serie de condiciones, de todos los datos de una tabla o de la tabla con su estructura.<\/p>\n<p>Manejamos para el ejemplo una tabla entradas, que trata sobre la entradas de un blog y que almacena b\u00e1sicamente la siguiente informaci\u00f3n: identificador, t\u00edtulo, cuerpo y tiempo de salida.<\/p>\n<p><strong>DELETE<\/strong><\/p>\n<p>Borra una serie de filas de la tabla. Podemos usar una cla\u00fasula WHERE para limitar las filas a borrar, a las que cumplan una condici\u00f3n. La sintaxis ser\u00eda:<\/p>\n<blockquote><p>DELETE FROM nombre_tabla WHERE condicion<\/p><\/blockquote>\n<p>Para nuestro caso:<\/p>\n<blockquote><p>DELETE FROM entradas WHERE id = 2;<\/p><\/blockquote>\n<p><strong>TRUNCATE<\/strong><\/p>\n<p>A diferencia de DELETE, TRUNCATE elimina todas las filas de la tabla sin borrar la tabla. Tambi\u00e9n resetea los contadores de auto incremento a 0. No borra la tabla como tal, la llamada estructura, por lo que luego puede comenzar a hacer inserciones. La sintaxis es:<\/p>\n<blockquote><p>TRUNCATE TABLE nombre_tabla;<\/p><\/blockquote>\n<p>Y para nuestro caso:<\/p>\n<blockquote><p>TRUNCATE TABLE entradas;<\/p><\/blockquote>\n<p><strong>DROP<\/strong><\/p>\n<p>Finalmente llegamos a DROP. A diferencia de la anterior, DROP no s\u00f3lo elimina los datos, sino que tambi\u00e9n eliminar la estructura de la tabla.<\/p>\n<blockquote><p>DROP TABLE nombre_tabla;<\/p><\/blockquote>\n<p>Y para nuestro caso:<\/p>\n<blockquote><p>DROP TABLE entradas;<\/p><\/blockquote>\n<p><strong>DROP DATABASE<\/strong><\/p>\n<p>A modo de bonus os traigo una instrucci\u00f3n m\u00e1s. Es id\u00e9ntica a la anterior pero en lugar de borrar una tabla, borra una base de datos al completo. Podemos incluir en la sentencia IF EXISTS de forma que evitemos el error en caso de que no exista la base de datos (muy \u00fatil a la hora de hacer copias de seguridad de las bases de datos).<\/p>\n<blockquote><p>DROP DATABASE [IF EXISTS] nombre_base_datos;<\/p><\/blockquote>\n<p>Y para nuestro caso:<\/p>\n<blockquote><p>DROP DATABASE blog;<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Cuando manejamos una base de datos SQL, adem\u00e1s de manejar creaciones de tablas (CREATE TABLE), inserciones (INSERT), consultas (SELECT) y actualizaciones (UPDATE); dentro de las operaciones b\u00e1sicas tambi\u00e9n tenemos las&hellip;<\/p>\n","protected":false},"author":1,"featured_media":669,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[],"class_list":["post-168","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mysql"],"_links":{"self":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts\/168","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/comments?post=168"}],"version-history":[{"count":0,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/posts\/168\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/media\/669"}],"wp:attachment":[{"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/media?parent=168"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/categories?post=168"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/emanuelpaxtian.com\/blog\/wp-json\/wp\/v2\/tags?post=168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}