MySQL DROP TABLE (Español)

publicado en: Articles | 0

Resumen: En este tutorial, aprenderá a usar la instrucción MySQL DROP TABLE para soltar una tabla de la base de datos.

MySQL DROP TABLE statement syntax

para eliminar tablas existentes, utilice la instrucción MySQL DROP TABLE.

Aquí está la sintaxis básica de la instrucción DROP TABLE:

Code language: SQL (Structured Query Language) (sql)

la instrucción DROP TABLE elimina una tabla y sus datos permanentemente de la base de datos., En MySQL, también puede eliminar varias tablas utilizando una sola instrucción DROP TABLE, cada tabla está separada por una coma (,).

la opción TEMPORARY solo le permite eliminar tablas temporales. Se asegura de que no elimine accidentalmente las tablas No temporales.

la opción IF EXISTS elimina condicionalmente una tabla solo si existe. Si suelta una tabla no existente con la opción IF EXISTS, MySQL genera una nota, que se puede recuperar utilizando la instrucción SHOW WARNINGS.,

tenga en cuenta que la instrucción DROP TABLE solo elimina tablas. No elimina privilegios de usuario específicos asociados con las tablas. Por lo tanto, si crea una tabla con el mismo nombre que la descartada, MySQL aplicará los privilegios existentes a la nueva tabla, lo que puede suponer un riesgo de seguridad.

El RESTRICT y CASCADE opciones están reservados para las futuras versiones de MySQL.

para ejecutar la instrucción DROP TABLE, debe tener privilegios DROP para la tabla que desea eliminar.,

MySQL DROP TABLE examples

tomemos algunos ejemplos de uso de la instrucción DROP TABLE.,3b2a0bf834″>

opción en la instrucción DROP TABLE:

Code language: SQL (Structured Query Language) (sql)

MySQL emitió una advertencia en su lugar:

Code language: SQL (Structured Query Language) (sql)

para mostrar la advertencia, puede usar el SHOW WARNINGS statement:

Code language: SQL (Structured Query Language) (sql)

MySQL drop table based on a pattern

supongamos que tiene muchas tablas cuyos nombres comienzan con test en su base de datos y desea eliminarlas todas usando una sola instrucción DROP TABLE.,

desafortunadamente, MySQL no tiene la instrucción DROP TABLE LIKE que puede eliminar tablas basadas en la coincidencia de patrones:

Code language: JavaScript (javascript)

Sin embargo, hay algunas soluciones. Discutiremos uno de ellos aquí para su referencia.

en Primer lugar, crear tres tablas test1,test2, test4 para la demostración:

Code language: SQL (Structured Query Language) (sql)

Supongamos que desea eliminar todos los test* tablas.,

segundo, declare dos variables que aceptan esquema de base de datos y un patrón que desea que las tablas coincidan:

Code language: CSS (css)

tercero, construya una instrucción dinámica DROP TABLE:

básicamente, la consulta instruye a MySQL Para ir a la tabla information_schema , que contiene información sobre todas las tablas en todas las bases de datos, y para concatenar todas las tablas en la base de datos @schema ( classicmodels ) que coincide con el patrón @pattern ( test% ) con el prefijo DROP TABLE ., La función GROUP_CONCAT crea una lista de tablas separadas por comas.

En cuarto lugar, muestre el SQL dinámico para verificar si funciona correctamente:

Code language: SQL (Structured Query Language) (sql)

como puede ver, la salida es lo que esperábamos.

En quinto lugar, ejecute la instrucción utilizando una instrucción preparada como se muestra en la siguiente consulta:

Code language: SQL (Structured Query Language) (sql)

poniéndolo todo junto.,

así que si desea eliminar varias tablas que tienen un patrón específico en una base de datos, simplemente use el script anterior para ahorrar tiempo. Todo lo que necesita hacer es reemplazar el patrón y el esquema de la base de datos en las variables @pattern y @schema. Si a menudo tiene que lidiar con esta tarea, puede desarrollar un procedimiento almacenado basado en el script y reutilizar este procedimiento almacenado.

en este tutorial, ha aprendido a usar la instrucción MySQL DROP TABLE para eliminar tablas existentes de una base de datos.

  • ¿Fue útil este tutorial?,
  • YesNo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *